Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Здравствуйте!
В одной из моделей перестал работать метод create(); В то время как сохранение данных через fill() + save() работает.
Код примерно такой:
protected $guarded = array();
public static $columns = array('status', 'title', 'description', 'image', 'link', 'start_date', 'finish_date');
//В функции создания
public static function addNew($data) {
//здесь проверка данных, и другой небольшой код...
$new = self::create($data);
}
Далее возникает ошибка. В ошибке написано пишется что нельзя добавить пустые данные в таблицу данные после чего идет распечатка sql запроса:
(SQL: insert into `table` (`updated_at`, `created_at`) values (?, ?)) (Bindings: array ( 0 => '2014-10-20 13:42:26', 1 => '2014-10-20 13:42:26', ))
Т.е. выходит что в sql передается только updated_at и created_at! Весьма странно, потом что если распечатать на экран массив $data перед функцией создания, то он будет содержать все нужные мне данные!
В то же время, если попробовать создать запись через метод save(), то все работает!
$record= new self;
$recordData = $record->fill( $data );
$record->save();
Есть варианты из-за чего это может быть?
Не в сети
Думаю из-за того что $guarded пустой, система думает что все поля защищены от массового заполнения
попробуй добавить хотя бы одно значение "id" или задать свойство $fillable
Не в сети
Страницы 1