private function updateTypes($service_id, $types) { $model = new shopTypeServicesModel(); $where = $model->getWhereByField(array('service_id' => $service_id)); if (!$where) { return false; } $old_data = array_keys($model->getByField('service_id', $service_id, 'type_id')); $add = array(); foreach (array_diff($types, $old_data) as $type_id) { $add[] = array('type_id' => $type_id, 'service_id' => $service_id); } if ($add) { $model->multipleInsert($add); } $delete = array_diff($old_data, $types); if ($delete) { $model->deleteByField(array('type_id' => $delete, 'service_id' => $service_id)); } }