Изучаю Laravel и до конца не могу разобраться в атрибутах 'fillable', 'hidden' и 'guarded' при массовом назначении.
В документации говорится, что при массовом назначении используя 'fillable' 'нечистивые' пользователи могут подменить какой-либо параметр при массовом назначении. Для этого нужно добавить поле которое хочешь защитить в 'guarded' и якобы теперь можно массово назначать 'безопасно'. Так ли это? Тогда несколько вопросов:
$flight = new Flight;
$flight->name = $anyname;
$flight->save();
и всё будет тип-топ?
В guarded попадают значения которые не стоило бы добавлять через массовое назначение, вы можете добавить все поля в guarded если хотите, но смысла нет в этом если вы будете использовать 3 вариант:
$flight = new Flight;
$flight->name = $anyname;
$flight->save();
Просто не всегда получается прямо обращаться к методам, да и проще в плане логики и компактности кода работать через массовое назначение.
Он скрывает с вывода поля, вы смотрели на примере User, а вот если вам нужно будет вывести пользователей в массив или json чтобы отдать по API или на фронтенд, вы просто пишите User:find(1)->toArray() и все атрибуты будут выведены кроме hidden, что сильно упрощает вам работу.
Если вам так удобно - используйте, массовое назначение - это один из вариантов сохранения данных, не обязательно его использовать.
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости