@AlexSer

Как в Yii2 подсчитать количество с записей через ActiveRecord?

Для примера есть таблица Book и Author(Авторы). Книга, 1 а атворов может на 1 книгу несколько.
Book                    
id|  title|
Autor
id|book_id|name_auth

К тому же в записях, есть книги авторы которым еще не присвоены, не добавлены. Т.е в таблице Author не присутствует их id. Мне нужно посчитать количество книг, у которых есть авторы.
$count=Book::find()
            ->leftJoin('Author', '`author`.`book_id` = `book`.`id`')
            ->count();

Но такая схема выводит количество записей в поле Author. Необходимы только книги.
  • Вопрос задан
  • 607 просмотров
Решения вопроса 1
webinar
@webinar Куратор тега Yii
Учим yii: https://youtu.be/-WRMlGHLgRg
Книга, 1 а атворов может на 1 книгу несколько.

Что блин?

1. Зачем тут join?
2.
$books = Book::find()
            ->with('author')
            ->all();
foreach($books as $book){
echo  "количество авторов у книги " . $book->title . ": " . count($book->author);
}

При этом должна быть связь с именем getAuthor в модели Book
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы