Я написал сценарий построения запросов в CodeIgniter, а затем понял, что мне нужно использовать предложения OR with для WHERE. Итак, я просмотрел документацию и нашел or_where(), который сделал то, что я хотел. Но когда я его использую, на выходе выдается AND. Других вопросов по этой проблеме я не нашел.
Я использую CodeIgniter: 2.1.0
Вот мой код (слегка урезанный):
$this->db->select("p.*", false);
$this->db->from('projects p');
$this->db->join('customers c', 'p.c_id = c.c_id', 'left outer');
if (isset($options['add_root'])) {
$this->db->or_where('p.p_id=', 1, FALSE);
}
//Get top level projects by default (1) or whatever parent is specified.
if (isset($options['p_id'])) {
$this->db->where('p.p_id=', $options['p_id'], false);
}
$query = $this->db->get(); //query
Подробнее здесь: https://stackoverflow.com/questions/970 ... -codeignit