Yii2 не спасет многих ко многим с новым предметом - PullRequest
0 голосов
/ 03 января 2019

Имеется этот код:

            $new_city = $request->post("new_city_select"); 
            $city = City::find()  //find item by name
                ->where(['=', 'name', $new_city])
                ->one();;
            if ($city == null) {
                $city = new City;  //if item not exist, creating new
                $city->name = $new_city;
                $city->save();
                $city = City::find()
                    ->where(['=', 'name', $new_city])
                    ->one();
            }
            $model->saveCities($city); //save relation
            $model->save(false);

Если существует экземпляр «city», то соединение многие ко многим создает нормальное.Но если нет, то создайте новый экземпляр «города» (в IF), но соединение не установлено.Как это исправить?

1 Ответ

0 голосов
/ 04 января 2019

из BaseActiveRecord - link () вы должны связать их.

Вызов функции link () заполнит таблицу соединений.

Я не уверен, ноЯ думаю, что это может решить вашу проблему:

добавьте это после save ()

$model->link('city', $city);
...