Заполнение не выполнено, потому что вы пытаетесь усечь таблицу, в которой есть значения, от которых зависят другие таблицы через отношение внешнего ключа. У ваших пользователей есть роль, которая ограничивает вас от усечения таблицы ролей.
Вместо этого вы можете использовать метод firstOrCreate()
, который будет создавать значение, только если оно не существует.
public function run()
{
Role::firstOrCreate([
'title' => 'Students',
'description' => 'Lorem ipsum dolor.'
]);
}
В качестве альтернативы, если по какой-то причине вы хотите изменить описание каждого сеанса, вы можете использовать firstOrNew()
.
public function run()
{
$role = Role::firstOrNew([
'title' => 'Students'
]);
$role->description = 'Lorem ipsum dolor.';
$role->save();
}
Кроме того, вы можете изменить отношение внешнего ключа, чтобы установить значение null, если оно будет удалено (обратите внимание, что при усечении вашего Roles
все роли будут установлены на NULL
).
->onDelete('set null');
Если вам действительно нужно усечь таблицу, вам сначала нужно очистить зависимые значения в таблице roles
.