Yii2 вывод данных из таблицы

440
20 февраля 2017, 19:44

Есть разделы с жанрами. У игр может быть несколько жанров. Нужно вывести на страницу все игры, среди которых встречается жанр текущего раздела. Ссылки имеют вид gameshop/platform?id=5, в action передается id

Метод для доступа к промежуточной таблице такой:

public function getGenre(){
    return $this->hasMany(Genre::className(), ['genre_id' => 'fk_genre_id'])
        ->viaTable('game_genre', ['fk_game_id' => 'id']);
}  

Не могу понять, каким должен быть запрос, что-то наподобие:

public function actionGenre($id){
   $query = Games::find();
   $games = Games::find()->where([$query->genre->genre_id => $id])->all();
    return $this->render('genre', [
        'games' => $games
    ]);
} 

Подскажите, пожалуйста, правильный запрос.

Answer 1

Нужно сделать связь в модели Genre с моделью Games. А потом:

public function actionGenre($id){
   $genre = Genre::findOne($id);
   $games = $genre->games;
   return $this->render('genre', [
    'games' => $games
  ]);
} 
READ ALSO
Загрузить содержимое php через jquery

Загрузить содержимое php через jquery

Есть следующий скрипт:

361
Почему результат AJAX-запроса пустой?

Почему результат AJAX-запроса пустой?

Не могу понять почему получаю пустое значение data в следующем коде:

284
Установка VisualEditor на MediaWiki

Установка VisualEditor на MediaWiki

ОС - Windows 7 Ultimate

496
Почему switch/case выводит не заданное выражение?

Почему switch/case выводит не заданное выражение?

Надо вывести значение post_max_size, которое указано в настройках PHP

183