如何创建php codeIgniter活动记录组?
首先,我的模型中有一些东西:如何创建php codeIgniter活动记录组?,php,codeigniter,activerecord,Php,Codeigniter,Activerecord,首先,我的模型中有一些东西: $this->db->where('status', $aStatus); $this->db->limit($aLimit, $aOffset); $this->db->or_like('title', $aString); $this->db->or_like('description', $aString); $this->db-&
$this->db->where('status', $aStatus);
$this->db->limit($aLimit, $aOffset);
$this->db->or_like('title', $aString);
$this->db->or_like('description', $aString);
$this->db->select('id,description,title,fee');
$query = $this->db->get($this->table_name);
我得到了这个问题:
从(事件
)中选择id
,说明
,标题
,费用
,其中
状态
=0和标题
类似“%space%”或说明
类似
“%space%”限制为5
但是我想让它生成这个查询
从(事件
)中选择id
,说明
,标题
,费用
,其中
状态
=0和(标题
如“%space%”或说明
如
“%space%”)限制为5
我如何修改才能这样做?多谢各位 想一想,你唯一能做到这一点的方法就是按照以下思路做一些事情:
$this->db->where('status', $aStatus);
$this->db->where("(title LIKE '%space%' OR description LIKE '%space%')");
$this->db->limit($aLimit, $aOffset);
$this->db->select('id,description,title,fee');
$query = $this->db->get($this->table_name);
还没有测试过,但它应该会让你上路。除此之外,我认为不可能以任何其他方式包含分组/括号中的查询。我只想这样做
$this->db->where('status', $aStatus);
$this->db->limit($aLimit, $aOffset);
$this->db->where(sprintf(
'(title LIKE %s OR description LIKE %s)',
$this->db->escape_like_str($aString),
$this->db->escape_like_str($aString)
), NULL);
$this->db->select('id,description,title,fee');
$query = $this->db->get($this->table_name);
分组类子句(将括号括起来) 会产生像这样的圆形靠背
(
`name` LIKE '%test%' ESCAPE '!'
OR `description` LIKE '%test%' ESCAPE '!'
)
如果我使用sql语句,我是否需要转义这个词,或者它将帮助我自动转义?快速测试表明搜索词没有转义。
(
`name` LIKE '%test%' ESCAPE '!'
OR `description` LIKE '%test%' ESCAPE '!'
)