2012-03-04 6 views
0

私は、CIのアクティブレコードを使用してクエリ結果を生成しています。これは、クエリの肉です:CodeIgniterアクティブレコード検索(WHERE、AND、OR)

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文は、「Ford」の広範な検索の一部です。なぜなら、名前や連絡先がAtlantaにある可能性があり、検索ボックスに入力されたからです。

+0

ORステートメントを囲む括弧が必要です。おそらくcodeigniterコードを含めて、人々がこれを修正する方法を提案できるようにしてください。 – imm

答えて

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

Duh!つかれた。ありがとう! – mdvaldosta

関連する問題