Yii2 обновить запрос, где в, а не в состоянии - PullRequest
0 голосов
/ 22 февраля 2019

Как я могу написать запрос на обновление, где, в, а не в состоянии.Я попробовал этот, но он не работает должным образом.Он обновляет все строки в таблице.Работает не только для указанных строк, но и для всех строк.

$postval=('2,4,5,7');
$netchk=TblNetwork::updateAll(['status' => 0],['AND', 
                'status = 1',  ['NOT IN', 'network_id_pk', $postval]
                ]);

1 Ответ

0 голосов
/ 22 февраля 2019

Вы должны использовать массив идентификаторов для условия NOT IN (в вашем примере вы используете строку со списком идентификаторов):

$postval = [2, 4, 5, 7];
$netchk = TblNetwork::updateAll(['status' => 0], [
        'AND', 
        'status = 1',  
        ['NOT IN', 'network_id_pk', $postval]
    ]);
...