@kiukishenkaec

Ларавел. Как правильно связать цепочку условий в ORM?

есть несколько условий типа
->where('status',1)
 ->whereDate('start_time', "<=", Carbon::now()->addWeeks($week)->format('Y-m-d'))

Сейчас знаний хватает на такое
Program::orderBy('start_time', 'ASC')
            ->where('status',1)
            ->whereDate('start_time', "<=", Carbon::now()->addWeeks($week)->format('Y-m-d'))
            ->with('league')
            ->get();

Как правильно вынести условия в отдельные методы?
Что бы получилось что то вроде этого:
publick function activ(){
    $this->where('status',1)
}
publick function addWeeks($week = 1){
    $this->whereDate('start_time', "<=", Carbon::now()->addWeeks($week)->format('Y-m-d'))
}
Program::orderBy('start_time', 'ASC')
            ->activ()
            ->addWeeks()
            ->with('league')
            ->get();
  • Вопрос задан
  • 81 просмотр
Решения вопроса 2
@hakkol
Комментировать
Skiphog
@Skiphog
Crutch developer
Есть несколько вариантов. Один из них.
Query Scopes

Почитайте чуть ниже про Local Scopes. Это как раз ваш случай.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы