Чтобы разрешить возможность заполнения всех полей в Laravel, вы можете использовать свойство fillable
в своих моделях Eloquent. По умолчанию Laravel требует, чтобы вы явно указали, какие поля являются заполняемыми, чтобы защититься от уязвимостей массового присвоения. Однако есть несколько методов, которые можно использовать, чтобы разрешить массовое назначение всех полей. Вот три распространенных подхода:
Метод 1: использование свойства $guarded
class YourModel extends Model
{
protected $guarded = [];
}
В этом методе вы устанавливаете свойство $guarded
как пустой массив, что означает, что никакие поля не будут защищены и все поля будут заполняемы.
Метод 2. Использование свойства fillable
class YourModel extends Model
{
protected $fillable = ['*'];
}
Указывая ['*']
в качестве значения свойства $fillable
, вы разрешаете заполнять все поля.
Метод 3: переопределение метода getFillable
class YourModel extends Model
{
public function getFillable()
{
return $this->fillable ?? ['*'];
}
}
В этом методе вы переопределяете метод getFillable
, чтобы вернуть значение свойства $fillable
, если оно существует. В противном случае он вернет ['*']
, что позволит заполнить все поля.