Задать вопрос
radhab20
@radhab20
Мир вам!

Возможно ли програмно добавить или убрать обращение к методу в PHP?

Здравствуйте. Возможно ли без if else програмно добавить или убрать ->where(), где это необходимо? Например, если отправили фильтр. В данный момент делаю примерно так:
if($where){
  $model = Content::find()->where($where)->all();
}else{
  $model = Content::find()->all();
}

Или же будет оптимальным вариантом просто передать пустой ->where([]) ?
Проблема в том, что к запросу могут ещё добавиться методы, например orderBy() и тп.
  • Вопрос задан
  • 114 просмотров
Подписаться 1 Простой 3 комментария
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
megakor
@megakor
Go/PHP developer | ВКонтакте
$query = Content::find();

if ($where){
  $query->where($where);
}

$items = $query->all();
Ответ написан
Ваш ответ на вопрос

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

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