private function setEquipment($equipmentIds, $model) { if (!empty($equipmentIds) && $model->id > 0 && $model->code != '') { // delete excess equipment $excessIds = array_diff($model->equipment, $equipmentIds); if (!empty($excessIds)) { foreach ($excessIds as $excessId) { EquipmentStatus::deleteAll(['equipment_id' => $excessId, 'station_id' => $model->id]); } } // add new equipment $newIds = array_diff($equipmentIds, $model->equipment); if (!empty($newIds)) { foreach ($newIds as $newId) { $data[] = [$newId, $model->id, $model->code]; } Yii::$app->db->createCommand()->batchInsert('equipment_status', ['equipment_id', 'station_id', 'station_code'], $data)->execute(); } } }