$model->save() записывает пустые поля

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
amarox
Сообщения: 78
Зарегистрирован: 2012.03.19, 21:03

$model->save() записывает пустые поля

Сообщение amarox »

Уже второй день бьюсь над загадочной и непонятной проблемой и никак не могу победить ее.

При вызове метода save() у модели формируется вот такой запрос INSERT INTO `space` (`id`) VALUES (NULL)

Сама модель

Код: Выделить всё

class Space extends ActiveRecord {

    public $title;
    public $description;
    public $key;

    public function rules()
    {
        return [
            [['title', 'description','key'], 'required'],
        ];
    }

    public static function tableName()
    {
        return 'space';
    }

    public function add($attrs=false)
    {
        if(is_array($attrs)) {
            $this->setAttributes($attrs);
        }

        if($this->save()) {
            return true;
        }

        return false;

    }
 
Перед вызовом метода save выводил $this->attributes. данные есть. также как и в свойствах

Код: Выделить всё

    public $title;
    public $description;
    public $key;
 
Ошибок валидации нет.

В чем может быть причина, подскажите пожалуйста.
dmeroff
Сообщения: 101
Зарегистрирован: 2012.06.05, 14:32
Откуда: Петрозаводск
Контактная информация:

Re: $model->save() записывает пустые поля

Сообщение dmeroff »

Уберите свойства из вашей модели, они там не нужны.

Код: Выделить всё

public $title;
public $description;
public $key; 
amarox
Сообщения: 78
Зарегистрирован: 2012.03.19, 21:03

Re: $model->save() записывает пустые поля

Сообщение amarox »

Спасибо огромное! Помогло.
Только начинаю работать с AR
german.igortcev
Сообщения: 251
Зарегистрирован: 2014.08.18, 14:01

Re: $model->save() записывает пустые поля

Сообщение german.igortcev »

Просто в yii2 не нужно объявлять свойста как в 1 версии.
kukuruku
Сообщения: 1318
Зарегистрирован: 2011.02.14, 11:36

Re: $model->save() записывает пустые поля

Сообщение kukuruku »

разве в первой версии такая модель сохранилась бы нормально в базу?
JiffaR
Сообщения: 1
Зарегистрирован: 2017.10.24, 08:58

Сообщение JiffaR »

Столкнулся с похожей проблемой, но если убираю свойства, то при попытке присвоить значение любому из них происходит ошибка
Setting unknown property: app\models\Space::title
Аватара пользователя
TranceSmile
Сообщения: 562
Зарегистрирован: 2011.06.27, 19:04
Откуда: Украина
Контактная информация:

Re: $model->save() записывает пустые поля

Сообщение TranceSmile »

Покажите таблицу
Изображение
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re:

Сообщение zelenin »

JiffaR писал(а): 2017.10.24, 09:03 Столкнулся с похожей проблемой, но если убираю свойства, то при попытке присвоить значение любому из них происходит ошибка
Setting unknown property: app\models\Space::title
свойства должны быть описаны в правилах.
Ответить