На примере этого кода:
$books = Books::find()
->joinWith(['reviews'])
->select(['books.id','books.name', 'COUNT(reviews.id) as cnt'])
->groupBy('books.id')
->orderBy('books.name')
->all();
Как вывести(получить) id, name и количество всех отзывов (cnt)?
Как и у обычного запроса, в переменной $books
будет массив с объектами Books
, только чтобы вывести cnt
нужно создать публичный метод:
class Books extends ActiveRecord {
public $cnt;
//Дальше ваш класс
}
И потом просто получаете данные:
foreach ($books as $book) {
echo 'Book ID: ' . $book->id . PHP_EOL;
echo 'Book name: ' . $book->name . PHP_EOL;
echo 'Reviews: ' . $book->cnt . PHP_EOL;
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Не получается составить шаблон для последней части строки
При создании темы, используется плагин Custom Post Type UI