条件或加入 cakephp

conditions OR in join cakephp

我是蛋糕新手,我在处理要在表中执行的查询时遇到问题。

        $options['joins'] = array(
        array('table'=>'users_views',
                  'alias' => 'UserView',
                  'type' => 'inner',
                  'conditions' => array(
                    'View.id = UserView.view_id',
                    'UserView.user_id' => $user_id,
                    'UserView.like' => 1
                   ),   
            )
        );
        $options['order'] = array('View.created' => 'desc');
        $options['limit'] = 10;

到目前为止这是我的查询,但我现在需要添加一个 OR 条件。在这种情况下或需要添加

'UserView.user_id' => $user_id,
'UserView.like' => 0

我需要查询returns匹配的数据或者是我的数据,LIKE值为0如果很难理解请告诉我。 任何帮助或建议都会受到欢迎。

构建 conditions 喜欢 -

'conditions' => array(
     0 => array('View.id = UserView.view_id'),
     1 => array('UserView.user_id' => $user_id),
     3 => 'UserView.like => 1 OR UserView.like => 0'
),

或使用 OR -

'conditions' => array(
     0 => array('View.id = UserView.view_id'),
     1 => array('UserView.user_id' => $user_id),
     2 => 'UserView.like IN (0, 1)'
),

以下应该有效:

$options['joins'] = array(
            array('table'=>'users_views',
                'alias' => 'UserView',
                'type' => 'inner',
                'conditions' => array(
                    'View.id = UserView.view_id',
                    'OR' => array(
                        'UserView.user_id' => $user_id,
                        'UserView.like' => 1
                    )
                ),
            )
        );
        $options['order'] = array('View.created' => 'desc');
        $options['limit'] = 10;