0

自分のサイトにアップロードされた最新の画像を取得しようとしていますが、プライベートギャラリー、イベント、またはユーザーが削除された場合は取得できません。0またはnullに対してもこれらのチェックを行う必要があります。

私は周りを見回して、複数のandと複数のorを実行するかなりの数の方法を見つけましたが、一緒ではありません。正しく見えるように見えますが、まったく機能しません。

$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 に答える