1

我是 CakePHP 的新手,我尝试过搜索,但找不到这个问题的答案。

简单地说,我希望查询是这样的:

SELECT id from posts WHERE id IN (15,18,20);

但我不知道在find()电话中放什么。

4

4 回答 4

2

这在http://book.cakephp.org/2.0/en/models/retrieving-your-data.html#complex-find-conditions的 CakePHP 在线手册中有介绍。只需在您的 : 中指定一个数组conditions

<?php
$ids = array(1,2,3,4,5,6);
$results = $this->Post->find('all', array(
    'conditions' => array(
        'Post.id' => $ids
    )
));
于 2012-12-05T14:07:18.467 回答
1

从模型来看,它会是这样的:

$ids   = array(15, 18, 20);
$posts = $this->find('all', array(
    'conditions'  => array(
        'Post.id' => $ids
     )
);

在条件数组中,您可以传递要在“IN”子句中使用的值数组

于 2012-12-05T14:01:42.503 回答
-1

从帖子控制器内部

$id_array = array(15, 18, 20);
$this->Post->find('all', array('Post.id' => $id_array));

有关该主题的更多信息 http://book.cakephp.org/2.0/en/models/retrieving-your-data.html

于 2012-12-05T14:01:17.510 回答
-1

$conditions = array("Post.title" => array("First post", "Second post", "Third post")) $this->find(all,array($conditions));

如果它有效,请检查它。

于 2012-12-05T14:02:29.130 回答