использовать Joins для нескольких таблиц в yii2

Я использую yii2, у меня есть 3 таблицы: сообщения, поклонники, комментарии, и я хочу использовать joinWith (), чтобы получать сообщения с их комментариями и имя поклонника (в таблице фанатов) для сообщений и комментариев. я написал этот запрос:

<pre> facebook_posts::find()->joinwith('fans')->joinWith('comments')->all(); </pre> 

и я добавил эти две функции для отношений:

 <pre> public function getfans() { return $this->hasOne(Fans::className(), ['id' => 'from_id'])->from(fans::tableName() . ' FBF'); } public function getComments() { return $this->hasMany(Comments::className(), ['parent_id' => 'id'])->from(comments::tableName() . ' FBC'); } </pre> 

это дает мне сообщения и данные поклонника, который написал сообщение и его комментарии, но мне нужны данные фанатов, которые также писали комментарии, поэтому как я могу присоединиться к комментариям с помощью таблицы поклонников?

Удостоверьтесь, что у вас есть отношение fan в вашей модели Comments , тогда вы можете использовать следующее, чтобы получить все комментарии к каждому сообщению и отношениям поклонников для каждого комментария:

 facebook_posts::find()->joinWith('fans')->joinWith(['comments', 'comments.fan'])->all();