GET /post/<id>/userLikes
PostController {
function actionUserLikes($postId) {
// вот способы,которыми можно получить нужные данные:
// Custom (самописные модели)
$model = new UserLikes(); //модель для таблицы UserLikes, отвечает за добавление лайков, удаление лайков и вывод инфы
// 1. Для производительности
// getUsersByLikes содержит сырой запрос вида select name from users ....
// и никак не связан с вашей моделью пользователей, пока не будет усложнения бизнес-логики
$users = $model->getUsersByLikes($postId);
// 2. Для масштабирования
//берем сначала айдишники юзеров
$userIds = $model->getUserIdsByLikes($postId);
$userModel = new User();
//решаем, что с ними делать - вдруг нам понадобятся не только юзеры, а связанная с ними инфа
$users = $userModel->findAll($userIds); //или как у вас там выбираются все юзеры
// OR
$users = $userModel->findAllWithAvatars($userIds);
//------
// ActiveRecord style
// 1.
$postWithLikes = PostRecord::find()->where(['id' => $postId])->with('userLikes')->all();
// 2.
$postWithLikes = $this->getModel($postId)->userLikes();
// 3. (by foreign table)
$tmp = UserLikeRecord::find()->where(['post_id'=>$postId])->with('users')->all();
$users = (!is_null($tmp)) ? $tmp->users : [];
}
}