Как сделать все столбцы заполняемыми по умолчанию для каждой вновь созданной таблицы в Laravel

#laravel-5 #eloquent #laravel-8 #laravel-models

#laravel-5 #красноречивый #laravel-8 #laravel-модели

Вопрос:

В каждой модели Laravel я хочу объявить заполняемость следующим образом.

 protected $fillable = [
    'object_name','attributes','item','cost','status','category',
    'object_id','status','customer_id','provider_id'
       
];
 

После этого я могу вставить значение в базу данных. Есть ли какой-либо способ сделать заполняемыми все столбцы каждой вновь созданной таблицы или мне нужно будет менять его каждый раз?

Комментарии:

1. Создайте класс и расширьте базу Eloquent , переопределив protected $fillable = ['*'] . Теперь просто создайте новую команду для создания модели из вновь созданного класса. Тем не менее, я думаю, что буду считать это плохой практикой, поскольку я не сторонник этого.

Ответ №1:

вы можете использовать защищенное свойство в классе модели;

 protected $guarded = [];
 

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

$fillable служит в качестве «белого списка», в то время как $guarded служит в качестве «черного списка». Следует использовать либо $fillable, либо $guarded.