我是 CakePHP 的新手,我尝试过搜索,但找不到这个问题的答案。
简单地说,我希望查询是这样的:
SELECT id from posts WHERE id IN (15,18,20);
但我不知道在find()
电话中放什么。
这在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
)
));
从模型来看,它会是这样的:
$ids = array(15, 18, 20);
$posts = $this->find('all', array(
'conditions' => array(
'Post.id' => $ids
)
);
在条件数组中,您可以传递要在“IN”子句中使用的值数组
从帖子控制器内部
$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
$conditions = array("Post.title" => array("First post", "Second post", "Third post"))
$this->find(all,array($conditions));
如果它有效,请检查它。