【发布时间】:2014-06-26 03:42:44
【问题描述】:
我有这个 ActiveRecord 来生成查询,
$this->purchase_requisition_model
->where('deleted','1')
->likes('to',$sapfvalue,'both')
->likes('date',$sapfvalue,'both')
->likes('request_by',$sapfvalue,'both')
->likes('deliver_to',$sapfvalue,'both')
->likes('name',$sapfvalue,'both')
->likes('telephone',$sapfvalue,'both')
->likes('designation',$sapfvalue,'both')
->likes('budget_status',$sapfvalue,'both')
->find_all();
上面的 ActiveRecord 会产生如下查询,
SELECT * FROM (`purchase_requisition`)
WHERE `deleted` = '1'
AND `to` LIKE '%fg%'
OR `date` LIKE '%fg%'
OR `request_by` LIKE '%fg%'
OR `deliver_to` LIKE '%fg%'
OR `name` LIKE '%fg%'
OR `telephone` LIKE '%fg%'
OR `designation` LIKE '%fg%'
OR `budget_status` LIKE '%fg%'
但是如何使用 ActiveRecord 生成以下查询?
SELECT * FROM (`purchase_requisition`)
WHERE `deleted` = '1'
AND ( `to` LIKE '%fg%'
OR `date` LIKE '%fg%'
OR `request_by` LIKE '%fg%'
OR `deliver_to` LIKE '%fg%'
OR `name` LIKE '%fg%'
OR `telephone` LIKE '%fg%'
OR `designation` LIKE '%fg%'
OR `budget_status` LIKE '%fg%' )
【问题讨论】:
-
根据docs,没有 likes() 功能可能是您使用基于 codeigniter 的任何 cms 如果是这样,则正确标记它您没有直接使用活动记录,还分组了活动记录尚不支持的 where 子句,您需要编写原始查询并正确转义输入
标签: php mysql codeigniter activerecord bonfire