@this__all

Как обьединить таблицы в Yii?

Я пытаюсь обьединить две таблицы в Yii. Но не могу как правильно это реализовать.

Модель Book

<?php
namespace app\models;
use yii\db\ActiveRecord;

class Book extends ActiveRecord {
  public function getBook() {
    return $this->hasOne(Book::className(), ['id_genre' => 'id_genre']);
  }
}


Модель Genre

<?php
namespace app\models;
use yii\db\ActiveRecord;

class Genre extends ActiveRecord {
  public function getGenre() {
    return $this->hasMany(Genre::className(), ['id_genre' => 'id_genre']);
  }
}


Контроллер Book

<?php
namespace app\controllers;
use yii\web\Controller;
use yii\data\Pagination;
use app\models\Book;
use app\models\Genre;

class BookController extends Controller {
    public function actionBook() {
        $genres = new Genre;
        $query = $genres->getBook()
          ->orderBy('id_genre')
          ->all();

        $books = $query;

        return $this->render('book', [
            'books' => $books,
        ]);
    }
}


База данных

5ea6caf6c6ac2265763734.jpeg
  • Вопрос задан
  • 90 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы