Это то, что я бы рекомендовал и является хорошей практикой проектирования, а также позволит оптимальную производительность из вашей базы данных, + уменьшить количество запросов. Я бы сделал ваши отзывы связанными с пользователем. Как пользователь опубликует много отзывов. поэтому пользователь HAS_MANY просматривает. и Обзор и пользователь HAS_ONE. поэтому используйте это и создайте внешний ключ для построения отношений.
Так внутри вашей модели пользователя (отношения) ид есть что-то вроде этого:
'reviews' => array(self::HAS_MANY, 'Review', 'originator),
Теперь внутри обзор модели идентификатору иметь что-то вроде этого:
'user' => array(self::BELONGS_TO, 'User', 'originator'),
После того, как вы сделали все, что вы нужно было бы пропустить все просмотры пользователей. Если его нет, у них нет отзывов.
$user = User::model()->findbyPk(1);
и пользователь-> обзоры будут содержать все отзывы для этого пользователя.
$ reviewModel - это массив моделей. Или, что то же самое в Yii, массив массивов. Используйте свой предпочтительный алгоритм, чтобы найти нужные значения внутри многомерного массива. Легко. – Johnatan