在CodeIgniter中使用括号ActiveRecord where()方法

时间:2014-01-16 03:25:57

标签: php sql codeigniter

如何使用 CodeIgniter数据库ActiveRecord 进行此查询?

  SELECT *
  FROM `request`
  WHERE (`requestedID` = 42 OR `challengerID` = 42)
  AND (`requApprove` = 1 AND `challApprove` = 1);

我尝试了很多模式..但它没有用。
我无法理解如何使用CI AR方法来构建包含括号的查询。

1 个答案:

答案 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();