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.
  • Вопрос задан
  • 119 просмотров
Решения вопроса 1
Palych_tw
@Palych_tw
Типа веб-разработчик
Пригласить эксперта
Ваш ответ на вопрос

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

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