activerecord - beforedelete - yii2 getdb



Yii2:Active Record添加Not In條件 (3)

對我來說,唯一可行的解​​決方案是:

$query = MyModel::find()->where('`your-attribute` NOT IN(' . implode(',', $array) . ')')->all();

https://src-bin.com

什麼是在yii 1.x中將IN條件添加到活動查詢的活動記錄方式,您可以像這樣使用CDbCriteria

$cr = new CDbCriteria();
$cr->addNotInCondition('attribute', $array);

在yii2活動記錄實現中似乎沒有等效的API調用,如何通過活動記錄執行此操作?


Answer #1

對於數字:

$query = MyModel::find()->where('NOT IN('.implode(',', $array).')');

對於字符串

$deleteContracts = Contract::find()
    ->where([
        'session_id' => $session_id,
        'status' => Contract::STATUS_COMPLETED
    ])
    ->andWhere(['not in', 'contract_id', $contracts])
    ->all();





yii2