2

我正在使用 CodeIgniter。我需要了解在 codeigniter 查询生成器中的工作方式where和条件。or_where

我需要像这样的输出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病情。请检查我的预期输出并获得输出。重复的问题是不同的。

4

1 回答 1

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

于 2018-08-07T11:42:27.157 回答