CodeIgniter使用WHERE,AND或OR进行活动记录搜索

时间:2012-03-04 22:25:21

标签: codeigniter search activerecord

我正在使用CI的活动记录来生成查询结果。这是查询产生的内容:

WHERE manufacturers.name = 'Ford'
OR dealer_email LIKE '%Ford%'
OR dealer_name LIKE '%Ford%'
OR dealer_contact = 'Ford'
OR dealer_city = 'Ford'
OR regions.name = 'Ford'
OR states.state_name = 'Ford'
AND `dealer_city` IN ('Atlanta')

我只想要亚特兰大的福特经销商。结果将归还所有福特经销商和亚特兰大的所有经销商。我不明白我的逻辑错在哪里。 PS:额外的OR声明是广泛搜索“福特”的一部分,因为它也可能是名称或联系IN亚特兰大,它被输入搜索框。

1 个答案:

答案 0 :(得分:2)

喜欢这个吗?

WHERE (manufacturers.name = 'Ford'
OR dealer_email LIKE '%Ford%'
OR dealer_name LIKE '%Ford%'
OR dealer_contact = 'Ford'
OR dealer_city = 'Ford'
OR regions.name = 'Ford'
OR states.state_name = 'Ford')
AND `dealer_city` IN ('Atlanta')