Size: a a a

Laravel для начинающих

2020 July 09

AP

Alexander Pavlenko 🌚... in Laravel для начинающих
Dimitry Averyanov
По-другому не знаю как назвать, но в целом вынести сложные выборки в отдельный слой кажется здравой.
Но еще конечно есть большой соблазн в модели их запихать, мне это не кажется ужасом, хоть и не хочется так делать:)
какой смысл в этих слоях если они связаны реализацией модели🤷‍♂️🌚
источник

AP

Alexander Pavlenko 🌚... in Laravel для начинающих
выносить выборки и сложные билдеры в отдельный класс ок, но не нужно это называть паттерном "репозиторий"🌚
источник

DA

Dimitry Averyanov in Laravel для начинающих
Alexander Pavlenko 🌚
какой смысл в этих слоях если они связаны реализацией модели🤷‍♂️🌚
Т.к. я не просто так в чате для начинающих - не понял ваш вопрос, если честно:)
источник

AP

Alexander Pavlenko 🌚... in Laravel для начинающих
вопрос риторический🌚
источник

DA

Dimitry Averyanov in Laravel для начинающих
Для меня это именно "выносить выборки и сложные билдеры в отдельный класс", в первую очередь, чтобы код основной логики был лаконичнее и понятнее. И чтобы его, в идеале, не нужно было трогать, если меняется только реализация выборки.
источник

A

Adel in Laravel для начинающих
Dimitry Averyanov
Для меня это именно "выносить выборки и сложные билдеры в отдельный класс", в первую очередь, чтобы код основной логики был лаконичнее и понятнее. И чтобы его, в идеале, не нужно было трогать, если меняется только реализация выборки.
Все верно, только это не Репозиторий :)
источник

DA

Dimitry Averyanov in Laravel для начинающих
Хорошо:)
источник

YH

Yurii Horbal in Laravel для начинающих
Можно класс HardLogics называть
источник

S

Someone in Laravel для начинающих
Shotty
Привет. Делаю фильтр данных.

на 27 строке поиск по роли.

на 41 по email.

Как мне сделать, чтобы где происходит поиск по email был и по name?

То есть, смотрите, там щас происходит поиск по мылу, как мне сделать чтобы этого же слово искала и по мылу и по имени?
Возможно orWhere поможет
Типа "ищи по имейлу или по имени"
источник

A

Andrey in Laravel для начинающих
Добрый день!
Как прописать правила в реквесте, что бы можно было использовать его для создания и одновления записи с уникальным полем?
Например slug должно быть уникальное при создание, но при редактировании, если поле не изменялось, соответвенно не нужна проверка на уникальность.
В доке видел такой пример Rule::unique('users')->ignore($user), но че то он не прокатывает
источник

AP

Alexander Pavlenko 🌚... in Laravel для начинающих
Yurii Horbal
Можно класс HardLogics называть
😁
источник

A

Andrey in Laravel для начинающих
Точнее впринципе он работает, как просто получить id модели в реквест? Кроме передачи через инпут
источник

AH

Andrey Helldar in Laravel для начинающих
Andrey
Добрый день!
Как прописать правила в реквесте, что бы можно было использовать его для создания и одновления записи с уникальным полем?
Например slug должно быть уникальное при создание, но при редактировании, если поле не изменялось, соответвенно не нужна проверка на уникальность.
В доке видел такой пример Rule::unique('users')->ignore($user), но че то он не прокатывает
Создать разные форм-реквесты на создание и обновление и в каждый прописать свои правила.

Проверка на уникальность: https://laravel.com/docs/7.x/validation#rule-unique
источник

AP

Alexander Pavlenko 🌚... in Laravel для начинающих
ну к примеру использовать для создания POST для обновления PATCH
источник

AP

Alexander Pavlenko 🌚... in Laravel для начинающих
это самый простой
источник

AP

Alexander Pavlenko 🌚... in Laravel для начинающих
и в реквесте сделать проверку
источник

AP

Alexander Pavlenko 🌚... in Laravel для начинающих
if ($this->getMethod() == 'POST') { // Logic}
источник

A

Andrey in Laravel для начинающих
Ну с разными реквестами конечно понятно... С проверкой метода у меня сейчас и работает, просто я думал это костыльно
источник

AP

Alexander Pavlenko 🌚... in Laravel для начинающих
public function rules()
   {
       $rules = [
           'email' => 'required|email',
           'first_name' => 'required',
           'last_name' => 'required',
           'gender' => 'required',
       ];
 
       if ($this->getMethod() == 'POST') {
           $rules['password'] = 'required|min:6';
       }
       
       return $rules;
   }
источник

A

Andrey in Laravel для начинающих
Вот такой костыль
источник