我正在使用CodeIgniter。我需要了解where
和or_where
条件在codeigniter查询生成器中如何工作。
我需要类似where a="" AND b="" AND c="" OR d="" AND e=""
所以我尝试了一个关联数组。
$where= array('a'=>$firstname,'b'=>$lastname,'c'=>1);
$or_where= array('d' =>$customer_mobile,'e'=>1);
但是我得到了输出
where a="" AND b="" AND c="" OR d="" OR e=""
您会为此提供帮助吗?
是的,我的问题不同。我问了or_where
条件。请检查我的期望输出并获得输出。重复的问题就不同了。
答案 0 :(得分:2)
希望这对您有帮助:
像这样使用query grouping
:根据您的情况更改table name
和variables
$firstname = 'a';
$lastname = 'b';
$customer_mobile = 'd';
$this->db->select('*')->from('users')
->group_start()
->where('a', $firstname)
->where('b', $lastname)
->where('c', '1')
->or_group_start()
->where('d', $customer_mobile)
->where('e', '1')
->group_end()
->group_end()
->get();
echo $this->db->last_query();
输出将如下所示:
SELECT * FROM `users`
WHERE ( `a` = 'a' AND `b` = 'b' AND `c` = '1'
OR ( `d` = 'd' AND `e` = '1' ) )
更多信息:https://www.codeigniter.com/user_guide/database/query_builder.html#query-grouping