
Всем привет! Сразу к делу: я - чайник, обучение еще не прошел (коплю деньги:)). Знание PHP - ноль. Но есть работодатель, который по ряду причин идет на встречу и готов меня взять в штат и обучить при условии, что я всеми правдами и неправдами сделаю тестовое задание. Понимаю, что оно элементарное по-сути, но из-за полного отстутствия знаний без посторонней помощи не справляюсь.
Есть 2 таблицы и 2 модели к ним (book и author).
В таблице author: id | name
В таблице book: id | author_id | title | прочая ересь
Модель Author:
class Author extends ActiveRecord
{ public static function tableName()
{return 'author';}
public static function primaryKey()
{return ['id'];}
public function getBooks()
{return $this->hasMany(Book::className(), ['author_id' => 'id']);}}
Модель Book:
class Book extends ActiveRecord
{public static function tableName()
{return 'book';}
public static function primaryKey()
{return ['id'];}
public function getAuthor()
{return $this->hasOne(Author::className(), ['id' => 'author_id']);}}
ControllerBook:
class BookController extends Controller {
public function actionIndex() {
$book = Book::find()->all();
$author = Author::find()->all();
return $this->render('index', compact('book','author'));}}
ControllerAuthor:
class AuthorController extends Controller {
public function actionIndex() {
$author = Author::find()->all();
return $this->render('index', compact('author'));}}
В представления все выводится циклами.
1. Именя авторов к книгам я вывел добавив в ControllerBook запос $author = Author::find()->all(); и в представлениях при помощи <?=$book->author->name ?> все отлично вывелось. А вот к авторам вывести количество книг не удалось. Пытался аналогично, но уже в ControllerAuthor делать запрос в Book::find() с использованием параметра count() , но не вышло. Повторюсь и в Yii2, и в php я - ноль. По-этому не знаю, может нужно делать иначе, может криво пытался. Подскажите, как это реализовать?
2. Хотелось бы на главную страницу вывести, например, представление book. Да и при создании админки пригодится видимо. Документами обчитался, очень много инфы на счет шаблонов, представлений, рендеринга и вывода представлений в шаблоне или внутри другого представления и т.п. А вот что делать яснее не стало. Вариантов дается масса, пытался пробовать разные, но опять же, толи делал не то, толи криво. Для начала, может кто подскажет как, например, мое готовое представление для book вывести в стандартном layout main.php вместо или рядом со стандартным контентом?



