Взаимодействие со связующей таблицей в yii2?
Добавлено: 2019.05.17, 13:30
Объясните, пожалуйста, на примерах, как должен выглядеть код, который выполняет следующую задачу:
Сейчас вручную сохраняю связи, разбирая url и проходясь циклом. Но, наверное, можно было и проще.
Не пойму, как написать адекватный код для update. Сдаётся мне, в yii должны быть какие-то стандартные средства, которые чуть ли не в 3 строчки справятся с этой задачей.
Допустим, у нас есть 3 таблицы в бд: фильмы, жанры, таблица для связи фильмов и жанров. Необходимо в формах update/create фильма сделать ToggleButtonGroup, который в create отображает все существующие жанры, а в update - все существующие, и отмечает выбранными те, которые найдены в бд в связующей таблице. И, соответственно, адекватно обновляет их в бд при изменении выбора.
Сейчас вручную сохраняю связи, разбирая url и проходясь циклом. Но, наверное, можно было и проще.
Код: Выделить всё
$genre_array = Yii::$app->request->post('movies')['moviesgenres'];
foreach ($genre_array as $genre)
{
$movie_genre = new MovieGenreRel();
$movie_genre -> genre = $genre;
$movie_genre -> movie = $model -> id;
$movie_genre -> save(true);
}