Задать вопрос
@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();
  • Вопрос задан
  • 94 просмотра
Подписаться 1 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Skillbox
    PHP-фреймворк Laravel
    2 месяца
    Далее
  • Яндекс Практикум
    Фулстек-разработчик расширенный
    20 месяцев
    Далее
Решения вопроса 2
@hakkol
Комментировать
Skiphog
@Skiphog
Crutch developer
Есть несколько вариантов. Один из них.
Query Scopes

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

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

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