Стоит ли использовать проверки Laravel, которые попадают в базу данных? - PullRequest
0 голосов
/ 07 июля 2019

Я проверяю свои входные данные, используя валидации, которые поставляются с Laravel Framework, и я обычно делаю что-то вроде этого:

 'username'=>'required|unique:users'

Мой вопрос "стоит ли это того?" учитывая, что эта проверка все равно будет обрабатываться базой данных при фактическом обновлении записи. Разве мы, выполняя это, не копируем работу и не попадаем в базу данных несколько раз, что не самый эффективный способ.

Ответы [ 3 ]

2 голосов
/ 07 июля 2019

ИМО, оно того стоит.

Когда вы используете этот вид проверки, вы автоматически получаете сообщение об ошибке для этого поля и знаете, что электронная почта уже используется.

Если вы этого не сделаете, конечно, база данных выдаст уникальную ошибку, которую вам нужно будет обработать, создайте пакет ошибок вручную и выведите его.

Если вы вставляете только одну запись, затраты на запрос базы данных минимальны, поскольку у вас уже есть индекс для этого столбца, он должен быть очень быстрым даже для больших наборов данных.

В конце концов вам может потребоваться обновить множество строк с помощью этой проверки, и Laravel не оптимизирует, выполняя множество запросов. В этом случае и только в этом случае оно может не стоить.

0 голосов
/ 07 июля 2019

Я предпочитаю проверку, особенно с проверкой запроса формы Laravel. В будущем вы можете использовать что-то вроде этого: $ user = User :: find ($ id) -> name; доступ к атрибуту напрямую из построителя запросов и множество других применений

0 голосов
/ 07 июля 2019

Общее использование таким способом.Итак, проверка

...