Задать вопрос
be_a_dancer
@be_a_dancer
Backend/Fullstack Developer

Каким образом спрятать сложный запрос в eloquent model?

Добрый день.

Необходимо спрятать весьма много комплексных запросов к базе в простые методы модели. Касается многих моделей, поэтому вариантов создавать query builder под каждую - нет.
Пример.

public function available() {
    return $this->where('id', 1)
}

public function withSomeMore($l) {
    return $this->whereHas('smth', function ($q) use($l) {
        $q->where('q', 1);
    }
}

// Вызов функции
$model->available()->withSomeMore()->get();


Каким образом можно реализовать подобный функционал? Данная чертовщина не проходит, так как вызов метода where, whereHas и любого другого вернет QueryBuilder.
  • Вопрос задан
  • 121 просмотр
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Фулстек-разработчик расширенный
    20 месяцев
    Далее
  • Onskills
    PHP: базовый курс
    1 месяц
    Далее
  • Skillbox
    PHP-фреймворк Laravel
    2 месяца
    Далее
Решения вопроса 1
Palych_tw
@Palych_tw
Типа веб-разработчик
Пригласить эксперта
Ваш ответ на вопрос

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

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