Laravel предоставляет огромное количество классных возможностей, помогающих улучшить опыт разработки (DX). Но из-за регулярных релизов, стрессов, связанных с повседневной работой, и огромного количества доступных функций легко упустить некоторые менее известные возможности, которые могут помочь улучшить код.
В статье рассмотрим советы по работе с моделями в Laravel. Надеюсь, эти советы помогут писать более чистый и эффективный код и избежать распространённых подводных камней.
#backend #laravel #eloquent #model #tips #php
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
#laravel #model #carbon #problem
🤔 Небольшая проблема, с которой столкнулся при использовании в Laravel стандартного каста datetime в модели, заключается в том, что он возвращает простые экземпляры
Это редкие случаи, но, может быть, они должны быть иммутабельными по умолчанию? Что вы думаете по этому поводу?
📱 @dev_notes_ru
Carbon вместо CarbonImmutable, поэтому при преобразовании даты они применяются к тому же экземпляру, а не к новому.Это редкие случаи, но, может быть, они должны быть иммутабельными по умолчанию? Что вы думаете по этому поводу?
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1🔥1
Модели — отличный инструмент для взаимодействия с хранилищем данных. Можно задать, как выглядят данные, и это гарантирует, что они совместимы с хранилищем данных, обычно базой данных. Когда есть модель, проверяющая вводимые данные и помогающая их записывать, может возникнуть соблазн использовать её и для извлечения данных. За исключением некоторых базовых CRUD-приложений, обычно это не очень хорошая идея. Давайте разберёмся, почему.
#PHP #Model #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
В Laravel v11.39.1, появился новый метод
incrementOrCreate. Позволяющий создать запись, если она не существует, или инкрементировать указанный столбец в противном случае #Laravel #Model #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍2🔥1
withAttributes теперь можно использовать для отношений и локальных областей. Этот метод добавляет в запрос условие
where с заданными ограничениями атрибутов, а также применяет атрибуты к любым моделям, созданным через отношения или область применения. Супер удобно. #Laravel #Model #HasMany #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤1