cakephp find()问题

cakephp find()问题,cakephp,Cakephp,我想将下面的mysql语句转换成cakephp查询语法。请帮助我。这是我的查询。SELECT*FROM post WHERE(user\u id==$id或designed\u to=$id)和id=$id 这是我的cakephp查询。是不是错了 $this->Post->find('all', array('conditions' => array('OR' =>

我想将下面的mysql语句转换成cakephp查询语法。请帮助我。这是我的查询。
SELECT*FROM post WHERE(user\u id==$id或designed\u to=$id)和id=$id

这是我的cakephp查询。是不是错了

 $this->Post->find('all', 
            array('conditions' => array('OR' =>
                                        array('Post.user_id' => $id),
                                        array('Post.awarded_to' => $id)
                                        ),
                                        'AND' =>
                                        array('Post.id' => $id)
                ))

这是免费的,但是下次


2个
阵列本身需要在一个阵列中,并且没有必要
这一个在房子里,但是下次


2
数组本身需要在一个数组中,并且不需要

只需在OR条件下添加Post.id=$id,而无需您给出“和”它是自动读取为和条件

$this->Post->find('all', array(
         'conditions' => array(
             'OR' => array('Post.user_id' => $id),
              array('Post.awarded_to' => $id)
         ),
         'Post.id' => $id
    ));

只需在OR条件下添加Post.id=$id,而不必给出“和”和“它是自动读取的as和条件…”

$this->Post->find('all', array(
         'conditions' => array(
             'OR' => array('Post.user_id' => $id),
              array('Post.awarded_to' => $id)
         ),
         'Post.id' => $id
    ));

您的查询非常接近,只需稍加修改即可,例如在“OR”之后的条件数组中删除“AND”,如下所示:

$this->Post->find('all', array(
        'conditions' => array(
            'OR' =>  array(
                array('Post.user_id' => $id),
                array('Post.awarded_to' => $id)
            ),
            'Post.id' => $id
        )
    ));


如果您要在和条件中传递表主键“id”,则第二个选项最适合您。

您的查询非常接近,只需稍加修改即可删除“AND”和“in conditions array after”或“as:

$this->Post->find('all', array(
        'conditions' => array(
            'OR' =>  array(
                array('Post.user_id' => $id),
                array('Post.awarded_to' => $id)
            ),
            'Post.id' => $id
        )
    ));

如果在和条件中传递表主键“id”,则第二个选项最适合您