如何使用 CodeIgniter数据库ActiveRecord 进行此查询?
SELECT *
FROM `request`
WHERE (`requestedID` = 42 OR `challengerID` = 42)
AND (`requApprove` = 1 AND `challApprove` = 1);
我尝试了很多模式..但它没有用。
我无法理解如何使用CI AR方法来构建包含括号的查询。
答案 0 :(得分:1)
来自CI doc:
$this->db->where()
接受可选的第三个参数。如果你设置它 到FALSE
,CodeIgniter不会尝试保护您的字段或表格 带反叛的名字。
因此,所需的AR方法将是:
$this->db->select('*');
$this->db->from('request');
$this->db->where('(requestedID = 42 OR challengerID = 42)', NULL, FALSE);
$this->db->where('(requApprove = 1 AND challApprove = 1)', NULL, FALSE);
$query = $this->db->get();