0

我正在尝试检索上传到我的网站的最新图像,但不是当它们在私人画廊、活动中或用户被删除时。我还需要对 0 或 null 进行这些检查。

我环顾四周,发现了很多做多个和的方法和多个或的但不在一起。它似乎看起来正确,但根本不起作用。

$conditions = array(
            'AND' => array(
                array(
                    'OR' => array(
                        'Event.private'     => null,
                        'Event.private'     => 0
                    )
                ),
                array(
                    'OR' => array(
                        'Gallery.private'   => null,
                        'Gallery.private'   => 0
                    )
                ),
                array(
                    'OR' => array(
                        'User.deleted'      => null,
                        'User.deleted'      => 0
                    )
                )
            )
        );

        $images = $this->Image->find('all',array(
                        'order'=>array('Image.id'=>'desc'),
                        'limit'=>$limit,
                        'group'=>'Image.id',
                        'offset'=>$offset,
                        'conditions'=>$conditions)
                    );
4

1 回答 1

5

OR 语句可能也应该在一个数组中。

尝试以下条件:

$conditions = array(
    'AND' => array(
        array(
            'OR' => array(
                array('Event.private' => null),
                array('Event.private' => 0)
            )
        ),
        array(
            'OR' => array(
                array('Gallery.private' => null),
                array('Gallery.private' => 0)
            )
        ),
        array(
            'OR' => array(
                array('User.deleted' => null),
                array('User.deleted' => 0)
            )
        )
    )
);
于 2013-02-01T12:13:32.477 回答