нулевое значение cakephp при условии - PullRequest
2 голосов
/ 01 февраля 2012
 $this->paginate['Member'] = array(
        'conditions' => array($conditions,'Member.division_id' => $currentTeam['Division']['id'],'Member.team_id'=> array(null,0)),
        'group' => 'Member.id',

    );

Этот запрос не получает идентификатор команды NULL. Он получает только идентификатор команды 0.

Ответы [ 4 ]

11 голосов
/ 01 февраля 2012

Использование ключевого слова IS NULL обычно работает.

array( 
    $conditions,
    'Member.division_id' => $currentTeam['Division']['id'],
    'OR' => array(
        'Member.team_id' => 0,
        'Member.team_id IS NULL'
    )
)
9 голосов
/ 01 февраля 2012

Можете ли вы попробовать это?

$this->paginate['Member'] = array(
        'conditions' => array($conditions,
                'Member.division_id' => $currentTeam['Division']['id'],
                'OR'=> array(
                   array('team_id'=>null), 
                   array('team_id'=>0),
                ),
        'group' => 'Member.id',

);

Редактировать: Завершение каждого условия team_id в свой собственный массив. Это предотвращает возникновение дублированного ключа массива 'team_id', но при этом использует согласованный формат для условий.

2 голосов
/ 01 февраля 2012
array( 
   $conditions,
   'Member.division_id' => $currentTeam['Division']['id'],
     'OR' => array(
        'Member.team_id' => 0,
        'IS' => array( 'Member.team_id' => NULL )
     )
 )

Это то, что вы хотите.

0 голосов
/ 01 февраля 2012
$this->paginate['Member'] = array(
        'conditions' => array($conditions,
                'Member.division_id' => $currentTeam['Division']['id'],
                'OR'=> array('Member.team_id'=> null, 'Member.team_id'=> 0),
                'group' => 'Member.id',

);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...