Yii AR не работает при использовании findAll

У меня есть два lang_menus menus и lang_menus . Моя модель выглядит следующим образом:

 public function relations() { // NOTE: you may need to adjust the relation name and the related // class name for the relations automatically generated below. return array( 'menulanguages'=>array(self::HAS_MANY, 'MenuLangs', 'menuId'), ); } ... public function getMenus(){ $criteria = new CDbCriteria(); $criteria->condition = "t.clientId = ".Yii::app()->user->clientId." AND menulanguages.languageId = ".Yii::app()->user->userlanguage; $count = Menus::model()->with('menulanguages')->count($criteria); $pages=new CPagination($count); //Results per page $pages->pageSize=10; $pages->applyLimit($criteria); $menus = Menus::model()->with('menulanguages')->findAll($criteria); return array('menus' => $menus, 'paging' => $pages); } 

Это вызывает ошибку Unknown column 'menulanguages.languageId' . Ошибка находится в строке $menus = Menus::model()->with('menulanguages')->findAll($criteria); ,

Удивительно, что я правильно вычисляю значение переменной $count .

При просмотре журнала я вижу, что SQL-запрос, который выполняется для запроса findAll:

 SELECT `t`.`id` AS `t0_c0`, `t`.`clientId` AS `t0_c1`, `t`.`restaurantId` AS `t0_c2` FROM `posif_menus` `t` WHERE (t.clientId = 1 AND menulanguages.languageId = 2) LIMIT 10 

что означает, что соединение не состоялось. Если для значения счетчика выполняется правильный запрос соединения. Я делаю что-то неправильно ? Пожалуйста помоги.

Просто используйте together() CActiveRecord или together свойство CDbCriteria :

 $menus = Menus::model()->with('menulanguages')->together()->findAll($criteria); 

или:

 $criteria = new CDbCriteria(); $criteria->condition = "t.clientId = ".Yii::app()->user->clientId." AND menulanguages.languageId = ".Yii::app()->user->userlanguage; $criteria->together=true; 

Попробуйте это .. примените таблицу соединения в cdbcriteria ..

 public function getMenus(){ $criteria = new CDbCriteria(); $criteria->condition = "t.clientId = ".Yii::app()->user->clientId." AND menulanguages.languageId = ".Yii::app()->user->userlanguage; $criteria->with = array('menulanguages'); $count = Menus::model()->count($criteria); $pages=new CPagination($count); //Results per page $pages->pageSize=10; $pages->applyLimit($criteria); $menus = Menus::model()->findAll($criteria); return array('menus' => $menus, 'paging' => $pages); }