Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 17.06.2017 10:26:27

Внесение данных в БД

Всем привет.
С laravel только знакомлюсь, прошу не закидывать камнями wink
Использую такую конструкцию

return Item::create([
            'owner' => '555',
            'photo' => $data['photo'],
            'price' => $data['price'],
        ]);

Но почему-то поле owner не хочет назначаться, если не поставить значение по-умолчанию в БД, то вылезает ошибка
Тест BBcode (собственно тут об этом и написано)

Model Item:

class Item extends Model
{
     protected $fillable = ['photo', 'price'];
    
     protected $hidden = ['owner',];
}

Laravel 5.4

Не в сети

#2 17.06.2017 12:05:48

Re: Внесение данных в БД

Бросается в глаза, столбец 'owner ' - 'Not null', но значение по умолчанию для него не задано. Когда станете править, желательно не редактировать структуру БД напрямую, а создать дополнительную миграцию.

Не в сети

#3 18.06.2017 08:30:12

Re: Внесение данных в БД

Нужно добавить столбец owner в массив $fillable. В вашем случае owner не пишется в базу, а так как он NOT NULL, то mySql ругается.

Не в сети

Подвал раздела