Задать вопрос
@Leopandro
Разработчик CRM/ERP систем

Как сократить такое отношение в Laravel ORM?

Есть такой запрос в коде -
User::query()
            ->whereHas('customers', function ($query) use ($serviceId) {
                $query->whereHas('customer', function ($query) use ($serviceId) {
                    $query->whereHas('services', function ($query) use ($serviceId) {
                        $query->where('service_id', '=', $serviceId);
                    });
                });
            });

я его хочу сократить до $user->with('services') как я могу прописать такое сложно отношение через несколько таблиц в модели User напрямую? Есть ли такая возможность изначально в Laravel или придется сделать так как сейчас или какого либо расширения есть возможность сделать это?
  • Вопрос задан
  • 67 просмотров
Подписаться 1 Средний Комментировать
Пригласить эксперта
Ответы на вопрос 1
yesbro
@yesbro
Думаю, помогаю думать
Можешь сделать scope и всю эту большую конструкцию перенести туда.

Update: И посмотри Has One Through/Has Many Through https://laravel.com/docs/11.x/eloquent-relationshi...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы