Красноречивый ORM кажется простым методом, но есть много полускрытых функций и малоизвестных способов получить от него больше. В этой статье я дам вам несколько советов.
- Избегайте ошибок, используя дополнительный помощник
При доступе к значениям объекта, если этот объект имеет значение NULL, ваш код вызовет ошибку. Например:
return $invoice->total;
Вызвало бы ошибку, если бы объект счета был пуст. Простой способ избежать ошибок - использовать дополнительный помощник Laravel:
return optional($invoice)->total;
Теперь, если объект $ invoice имеет значение null, ваш код вернет null вместо того, чтобы вызывать ошибку. Вы также можете использовать закрытие с дополнительным помощником. Он получает закрытие как второй аргумент и будет вызываться, если первый аргумент не равен нулю.
2. Обновить или создать
При работе с базами данных принято проверять, существует ли уже данная запись, и обновлять ее или создавать новую запись, если ее нет. Что-то в этом роде:
Вместо этого вы можете использовать метод updateOrCreate Eloquent:
3. Переменная цикла в foreach
Внутри цикла foreach проверьте, является ли текущая запись первой / последней, просто используя переменную $ loop.
Есть также другие свойства, такие как
Подробнее здесь: https://laravel.com/docs/master/blade#the-loop-variable
4. Группа маршрутов
Группа маршрутов в группе маршрутов, вы можете создать группу в группе, назначив определенное промежуточное программное обеспечение только некоторым URL-адресам в «родительском»
5. Красноречивые методы даты
В Eloquent просто проверить дату с помощью функций whereDay (), whereMonth (), whereYear (),
whereDate () и whereTime ().
6. Проверка электронной почты в laravel.log
Если вы хотите протестировать содержимое электронной почты в своем приложении, но не можете или не хотите настраивать что-то вроде Mailtrap, используйте параметр .env MAIL_DRIVER=log
, и все сообщения электронной почты будут сохранены в файле storage / logs / laravel.log, а не будут отправлены.
7. Конкретная модель столбца в методе :: all ()
При вызове Eloquent Model :: all () вы можете указать, какие столбцы возвращать.
$users = User::all([‘id’, ‘name’, ‘email’]);
8. Название столбца псевдонима в элементе
в Eloquent Query Builder вы можете указать «as» для возврата любого столбца с другим именем,
как в обычном запросе SQL.
9. Используйте hasMany, чтобы создать Many child
Если у вас есть отношение hasMany (), вы можете использовать saveMany () для сохранения нескольких «дочерних» записей из «родительского» объекта в одном предложении.
10. Метод dd (сбросить и умереть)
Один из наиболее распространенных способов отладки ошибки в экосистеме Laravel - вывести переменную на экран и выяснить, что с ней не так.
Функция dd выгружает заданные переменные и завершает выполнение скрипта. Вместо того, чтобы делать dd ($ result); вы можете поместить - ›dd () как метод непосредственно в конце вашего красноречивого предложения или любой коллекции
Спасибо, что прочитали эту статью! Не забудьте аплодировать 👏 или оставить комментарий 💬