“where”+“or_where”,or_where“遗漏条件

时间:2010-12-20 20:08:39

标签: php mysql codeigniter

我将如何制作它以便具备以下条件:

$this->db->where('msgto.msgto_display', 'y');
$this->db->where('msgto.msgto_unread', 'y');

然后有:

$this->db->where('msgto.msgto_recipient', $userid);
$this->db->or_where('msgto.msgto_recipient', 4);

此时它的罚款除了读取“or_where”时它会超出“条件”,因此收件人4的结果不会标记('msgto.msgto_display', 'y')('msgto.msgto_unread', 'y')

感谢您的帮助:)

2 个答案:

答案 0 :(得分:1)

您可以尝试使用CodeIgniters $ this-> db-> where_in()函数:

$this->db->where_in('msgto.msgto_recipient', array($userid, 4));

我遇到了类似的问题,我需要将条件设置为多个可能的值,这就行了。

我的情况是我想查找状态为已发布或已锁定状态的内容。

$this->db->where_in('status', array('published','locked'));

答案 1 :(得分:0)

我不确定CodeIgniter的查询构建器是否足以处理该案例,基于其文档。您可能需要先对收件人进行查询,然后手动过滤结果。