Форма приема и массовое задание в Ларавеле - PullRequest
0 голосов
/ 30 июня 2018

Я занимаюсь разработкой веб-приложения Laravel, которое предполагает хранение большого количества данных в базе данных. До сих пор я использовал обычное хранилище Laravel следующим образом частично, потому что я предпочитаю этот способ, а частично, потому что мне может понадобиться использовать События модели в будущем (модельные события не запускаются в случае массового присвоения):

$product = new Product;
$product->name = "EXT";
// MANY MORE FIELDS
$product->save();

Но я где-то читал, что это не очень хорошая практика - вместо этого использовать массовое задание, так как это быстрее и эффективнее.

Это правильно? Должен ли я продолжать использовать метод, который я использую, или я должен перейти к массовому назначению / обновлению?

PS: я знаю, что риски безопасности от Mass Assignment могут быть предотвращены с помощью $ gaurded & $ fillable.

Ответы [ 2 ]

0 голосов
/ 01 июля 2018

В модели просто установите protected $fillable=[]; и protected $guarded=[]; для пустого массива и используйте все, что вы хотите использовать, либо массовое назначение, либо eloquent или построитель запросов.

0 голосов
/ 01 июля 2018

Я думаю, вы должны проверить документацию Laravel,

Назначение массы Ларавела

Нет информации о производительности.

Тогда, я думаю, что массовое назначение более полезно, чем другие. Потому что вам не нужно записывать каждое значение в коде. Вы просто должны установить fillable или guard переменные по соображениям безопасности.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...