CakePhP 1.3中的多个和/或条件

时间:2013-02-01 11:44:50

标签: php cakephp conditional-statements

我正在尝试检索上传到我网站的最新图片,但是当他们在私人图库,活动或用户被删除时却没有。我需要对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)
                    );

1 个答案:

答案 0 :(得分: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)
            )
        )
    )
);