Mysql 如何在find()cakephp中指定范围

Mysql 如何在find()cakephp中指定范围,mysql,cakephp,range,Mysql,Cakephp,Range,我是CakePHP新手,我尝试过搜索,但找不到这个问题的答案 简单地说,我希望查询是这样的: SELECT id from posts WHERE id IN (15,18,20); 但是我不知道在posts控制器中的find()调用中放置什么。 $id_array = array(15, 18, 20); $this->Post->find('all', array('Post.id' => $id_array)); 更多关于这个问题 从posts控制器内部 $id_ar

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

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

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

但是我不知道在posts控制器中的
find()
调用中放置什么。

$id_array = array(15, 18, 20);
$this->Post->find('all', array('Post.id' => $id_array));
更多关于这个问题

从posts控制器内部

$id_array = array(15, 18, 20);
$this->Post->find('all', array('Post.id' => $id_array));
更多关于这个问题

从模型中可以看出:

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

在条件数组中,您可以从模型中传递要在“in”子句中使用的值数组,它类似于:

$ids   = array(15, 18, 20);
$posts = $this->find('all', array(
    'conditions'  => array(
        'Post.id' => $ids
     )
);
在条件数组中,可以传递要在“in”子句中使用的值数组(“Post.title”=>数组(“First Post”、“Second Post”、“Third Post”)) $this->find(全部、数组($conditions))

如果可以,请点击查看。

$conditions=array(“Post.title”=>array(“第一篇文章”、“第二篇文章”、“第三篇文章”))
$this->find(全部、数组($conditions))


如果可行,请点击查看。

CakePHP在线手册中介绍了这一点。只需在
条件中指定一个数组

<?php
$ids = array(1,2,3,4,5,6);
$results = $this->Post->find('all', array(
    'conditions' => array(
        'Post.id' => $ids
    )
));

CakePHP在线手册中介绍了这一点。只需在
条件中指定一个数组

<?php
$ids = array(1,2,3,4,5,6);
$results = $this->Post->find('all', array(
    'conditions' => array(
        'Post.id' => $ids
    )
));

这正是我需要的。谢谢:)使用默认的
递归
级别,如果该模型链接到其他模型,则仅为字段名指定
'id'
可能会失败,因为字段名可能不明确。同意,为了简单起见,我在SQL查询中只发布了id。在你的问题中,我认为这是有意义的,但我认为答案中必须明确。这就是@dleiftah对其更新所做的->+1:)这正是我所需要的。谢谢:)使用默认的
递归
级别,如果该模型链接到其他模型,则仅为字段名指定
'id'
可能会失败,因为字段名可能不明确。同意,为了简单起见,我在SQL查询中只发布了id。在你的问题中,我认为这是有意义的,但我认为答案中必须明确。这就是@dleiftah对他的更新所做的->+1:)我应该去看看。我倾向于避开这本书,因为它有时会让人困惑。谢谢:)我应该看看那里。我倾向于避开这本书,因为它有时会让人困惑。谢谢:)