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

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

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

Сообщение amarox » 2015.01.17, 15:06

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

При вызове метода 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 » 2015.01.17, 15:09

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

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

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

amarox
Сообщения: 78
Зарегистрирован: 2012.03.19, 21:03

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

Сообщение amarox » 2015.01.17, 15:11

Спасибо огромное! Помогло.
Только начинаю работать с AR

german.igortcev
Сообщения: 225
Зарегистрирован: 2014.08.18, 14:01

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

Сообщение german.igortcev » 2015.01.18, 09:36

Просто в yii2 не нужно объявлять свойста как в 1 версии.

kukuruku
Сообщения: 1263
Зарегистрирован: 2011.02.14, 11:36

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

Сообщение kukuruku » 2015.01.18, 12:28

разве в первой версии такая модель сохранилась бы нормально в базу?

JiffaR
Сообщения: 1
Зарегистрирован: 2017.10.24, 08:58

Сообщение JiffaR » 2017.10.24, 09:03

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

Аватара пользователя
TranceSmile
Сообщения: 562
Зарегистрирован: 2011.06.27, 19:04
Откуда: Украина
Контактная информация:

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

Сообщение TranceSmile » 2017.10.24, 21:42

Покажите таблицу
Изображение

zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re:

Сообщение zelenin » 2017.10.24, 23:00

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

Ответить