2012-03-04 50 views
0

我正在使用CI的活动记录来生成查询结果。这是查询产生的肉:CodeIgniter Active-Record搜索与哪里,AND,或

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语句是对“福特”广泛搜索的一部分,因为它也可以是名字或联系在亚特兰大,并且它被输入到搜索框中。

+0

您需要围绕OR语句的括号。也许还包括你的codeigniter代码,以便人们可以建议如何解决它来做到这一点。 – imm 2012-03-04 22:36:47

回答

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') 
+0

呃!我累了。谢谢! – mdvaldosta 2012-03-04 23:47:57