CodeIgniter中的AND条件下如何使用OR_Where?

时间:2018-08-07 11:25:31

标签: php mysql codeigniter codeigniter-3 codeigniter-query-builder

我正在使用CodeIgniter。我需要了解whereor_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条件。请检查我的期望输出并获得输出。重复的问题就不同了。

1 个答案:

答案 0 :(得分:2)

希望这对您有帮助:

像这样使用query grouping:根据您的情况更改table namevariables

$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