【问题标题】:Zend_Db_Select LIKE clauseZend_Db_Select LIKE 子句
【发布时间】:2011-08-09 10:13:09
【问题描述】:

如何设置此查询

SELECT city_id FROM cities WHERE city_name LIKE "%Vicenza%"

使用 Zend_Db_Select 类?

【问题讨论】:

    标签: zend-framework zend-db zend-db-select


    【解决方案1】:

    由于@Jerec的回答没有提到...为了达到以下效果:

    LIKE '%{$searchTerm}%'
    

    您需要将额外的修饰符添加到变量中,如下所示:

    // Correct way
    ->where("city_name LIKE ?", "%{$searchTerm}%")
    
    // Wrong ways
    ->where("city_name LIKE %?%", $searchTerm)
    ->where("city_name LIKE '%?%'", $searchTerm)
    

    可能看起来很明显,但我尝试了 3 次才正确。

    【讨论】:

    • 谢谢罗德里戈!您的回答节省了我的时间!
    【解决方案2】:

    你可以用这个方法

       $select = $dbTable->select()
        ->from('cities', 'city_id')
        ->where('city_name LIKE ?', $searchTerm);
    

    其中 $dbTable 是 Zend_Db_Table 类的一个实例

    【讨论】:

    • 谢谢 :) setIntegrityCheck 方法究竟做了什么?
    • setIntegrityCheck 允许 Zend_Db_Table_Select 选择其初始表之外的行,因此您根本不需要它 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-03-15
    • 1970-01-01
    • 2011-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多