private function setPowerEquipment($ids, $model) { if (!empty($ids) && $model->id > 0) { // delete excess equipment $excessIds = array_diff($model->power_equipment, $ids); if (!empty($excessIds)) { foreach ($excessIds as $excessId) { PowerStatus::deleteAll(['item_id' => $excessId, 'station_id' => $model->id]); } } // add new equipment $newIds = array_diff($ids, $model->power_equipment); if (!empty($newIds)) { foreach ($newIds as $newId) { $data[] = [$newId, $model->id]; } Yii::$app->db->createCommand()->batchInsert('power_status', ['item_id', 'station_id'], $data)->execute(); } } }