Красноречивая ошибка updateOrCreate: общая ошибка: 1364 Поле не существует

Я пытаюсь использовать функцию updateOrCreate, и раньше она работала, однако, когда я добавил новую строку с именем user, она перестала работать, хотя мой updateOrCreate выглядит так:

SystemCoreStats::updateOrCreate(['id' => $systemId],['type' => $type, 'stat_build_store' => $val, 'user' => $user->id]);

Я не понимаю, что я делаю неправильно.


person Dev Daniel    schedule 03.04.2017    source источник
comment
Добавил пользователя в базу? Вы обновили свою модель, чтобы отразить изменения?   -  person Serge    schedule 03.04.2017


Ответы (1)


По сути, эта ошибка означает, что user, который вы пытаетесь updateOrCreate, не существует.

попробуйте проверить свою модель, если она присутствует:

/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
   'column_name',
   'column_name',
   'column_name',
];

в твоем случае

/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
   'type',
   'stat_build_store',
   'user',
];

и попробуйте проверить в своей базе данных, существует ли столбец.

Можете ли вы опубликовать больше вашего кода?

person Angus Simons    schedule 03.04.2017
comment
Это было прекрасно, я забыл о том, что защищенное поле модели нуждается в обновлении. - person Dev Daniel; 03.04.2017