А вы заметили, что описанные вами запросы вызываются через статический метод, а не через объект?
Статические методы AR это что-то вроде построителя запросов.
Что касается многие ко многим:
$article->articleAuthor->authors - последовательный неявный вызов getArticleAuthor у модели Article, и getAuthors у модели ArticleAuthor
Фигурирует три модели: Article, ArticleAuthor, Author, где ArticleAuthor - модель промежуточной таблицы и работает всего с двумя основными полями: article_id, author_id.