Хочу написать метод в котором будет один не обязательный параметр. Получается вот такой код:
Код: Выделить всё
public static function findDepartment($name, $sname, $faculty_id = null)
{
$department = self::find()
->andWhere(['ilike', 'name', trim($name)])
->andWhere(['ilike', 'sname', trim($sname)]);
if (!is_null($faculty_id)) {
$department->andWhere(['=', 'faculty_id', $faculty_id]);
}
$department->one();
return $department;
}
Код: Выделить всё
"SELECT * FROM "department" WHERE ("name" ILIKE '%Горное дело%') AND ("sname" ILIKE '%ГД%')"
Если убрать if и задать значение для faculty_id или же совсем убрать этот andWhere, то все работает правильно.
Как быть в этой ситуации.
Спасибо1