Исходя из выбора пользователя, мне нужно отфильтровать результаты в моем запросе, но я застрял в том, как правильно реализовать динамические операторы OR после моего AND.В настоящее время я использую Active Record в CodeIgniter, но это, возможно, придется изменить.
Мне необходимо создать следующий фрагмент: "WHERE city.id = 9 AND (eventType = 8 или eventType = 9)"
- если нет операторов OR, тогда мне не нужны AND
- , могут быть 1-n операторы OR
Мой код в настоящее времявыглядит следующим образом:
$this->db->where('city.id =', $cityID);
if ($eventTypes != NULL){
foreach ($eventTypes as $item){
$eventTypeID = intval($item);
$this->db->or_where('eventtype.id =', $eventTypeID);
}
}
Это дает: ГДЕ city.id
= 13 ИЛИ eventtype.id
= 6 ИЛИ eventtype.id
= 8 ... поэтому мне нужно AND (