Разрешить заполнение всех полей в Laravel

Чтобы разрешить возможность заполнения всех полей в 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, если оно существует. В противном случае он вернет ['*'], что позволит заполнить все поля.