Laravel по-русски

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

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

#1 14.07.2016 00:43:20

Массово присваиваемые атрибуты

Здравствуйте!
В туториале, в разделе про модели указыватся, что задание

protected $fillable = ['name'];

делает атрибут name массово присваиваемым.

Вопрос: что это значит? Это делает поле обязательным при создании экземпляра, соответственно строчки таблицы?
Или что чему массово присваевается?

Не в сети

#2 14.07.2016 22:19:33

Re: Массово присваиваемые атрибуты

Не в сети

#3 15.07.2016 23:27:04

Re: Массово присваиваемые атрибуты

Спасибо!
Правильно ли я понимаю, что так мы перечисляем поля которые разрешено/запрещено менять из контроллера?
Не совсем понятно значение термина "массовое" здесь. Как будто массовое присваивание - присваивание атрибута множеству записей

Не в сети

#4 16.07.2016 08:24:57

Re: Массово присваиваемые атрибуты

Vasdor пишет:

Спасибо!
Правильно ли я понимаю, что так мы перечисляем поля которые разрешено/запрещено менять из контроллера?
Не совсем понятно значение термина "массовое" здесь. Как будто массовое присваивание - присваивание атрибута множеству записей

Mass Assignment, простыми словами, это когда ты не назначаешь явно каждый атрибут вручную, а присваиваешь их массово. Например, у тебя есть большая форма на 20 полей. Ты можешь явно присваивать значение:

$model = new Model();
$model->name = $formRequest->name;
$model->second_name = $formRequest->seconds_name;
$model->age = $formRequest->age;
....
$model->save();

Либо ты можешь использовать Mass Assignment:

$model->create($formRequest->all());

При этом, ты увидишь в созданной строке таблицы все атрибуты, указанные в $fillable, а неуказанные атрибуты будут проигнорированы.

Не в сети

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