【问题标题】:How to find multiple values for Cake PHP find() method? (IN condition)如何为 Cake PHP find() 方法查找多个值? (在状态)
【发布时间】:2012-01-18 07:58:31
【问题描述】:

有没有办法在 CakePHP 中执行 find() 转换为 IN 条件?似乎 find() 方法只需要一个值来搜索。

我想做这样的事情:

$this->User->findAllById(array(1, 5, 7));

这会将 SQL 转换为:

SELECT * FROM users WHERE id IN (1, 5, 7);

【问题讨论】:

    标签: cakephp cakephp-model


    【解决方案1】:
    $this->User->find('all', array('conditions' => array('id' => array(1, 5, 7))));
    

    【讨论】:

    • 这适用于整数,但似乎不适用于字符串值。
    • 它应该也适用于字符串。生成的查询是什么样的?
    • 抱歉,我是 Cake 新手。我似乎找不到如何轻松打印出生成的查询。我将整数更改为'test','test2',但出现错误:错误:SQLSTATE [42S22]:找不到列:1054 'where 子句'中的未知列'test'
    • config/core.php中设置debug为2,看页面底部。而且报错说明你的查询有错误,你好像在搜索字段test,这个字段不存在。
    • 啊,在做 'id', array(...) 而不是 'id' => array(...)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多