Изучаю 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
, что сильно упрощает вам работу.
Если вам так удобно - используйте, массовое назначение - это один из вариантов сохранения данных, не обязательно его использовать.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Можно ли как-то получить список подписчиков у публичных телеграм каналов? Всё что на данный момент нашел - getchatmemberscount, но там требуется chat_id,...
Интересует вот какая тема, можно ли и есди да то как реализовать поиск по базе с переменной в sql запросе так чтобы использовать только один...