【问题标题】:CodeIgniter Active-Record Search with WHERE, AND, ORCodeIgniter Active-Record 搜索与 WHERE、AND、OR
【发布时间】:2012-03-04 22:25:20
【问题描述】:

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

【问题讨论】:

  • 您需要用括号括住 OR 语句。也许还包括您的 codeigniter 代码,以便人们可以建议如何修复它来做到这一点。

标签: codeigniter search activerecord


【解决方案1】:

像这样?

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-09-26
    • 1970-01-01
    • 2014-12-24
    • 1970-01-01
    • 1970-01-01
    • 2013-02-27
    • 1970-01-01
    • 2015-03-08
    相关资源
    最近更新 更多