class AuthorController extends Controller {
public function actionIndex() {
$authors = Author::find()->select(['author.id', 'author.name', 'books' => 'count(*)'])
->leftJoin('book', 'author.id = book.author_id')
->groupBy('author.id')->asArray()->all();
return $this->render('index', ['authors' => $authors]);
}
}
foreach($authors as $author){
echo '<h2>'.$author['id'].') '.$author['name'].'</h2>'; // 1) Иван И.И.
echo '<p>Книг: '.$author['books'].'</p>'; // Книг: 17
}
admin
в конфигеsite.ru/index.php?r=admin/default/index
index.php?r=admin/default/index
modules
должна быть вне сервера, а сам сервер должен смотреть в папку web
, а не в корень сайта, это при чем у всех фреймворков const parentSelector = '.menu';
const indices = [ 0, 1, 4, 8 ];
const $elems = $(parentSelector).children().filter(i => indices.includes(i));
// или
const $elems = $(indices.map(n => `> :eq(${n})`).join(', '), parentSelector);
const elems = Array.prototype.filter.call(
document.querySelector(parentSelector).children,
(n, i) => indices.includes(i)
);
// или
const elems = document
.querySelector(parentSelector)
.querySelectorAll(indices.map(n => `:scope > :nth-child(${n + 1})`));