Yii DataProvider с двумя таблицами

у меня две таблицы

User:
id | name | gender(boolean)

Gender:
gender_id (boolean) | gender_name (text)

Я хочу отображать текстовое представление пола через DataProvider

UserController:
public function actionIndex()
{           
  $crt = new CDbCriteria();
  $crt->alias = 'so';
  $crt->select = 'so.id, so.name, so.gender, fl.Gender_name';   
  $crt->join = " left join " . Gender::model()->tableName() . " as fl on fl.Gender_id = so.Gender"; 

  $dataProvider=new CActiveDataProvider('User', array('criteria' => $crt));
  $this->render('index',array(dataProvider'=>$dataProvider,));
}

В итоге не могу пройти через таблицу dataProvider gender


person Taram    schedule 10.01.2014    source источник


Ответы (1)


Вы можете лучше создать отношение в моделях. Таким образом, вам не нужно использовать критерии, а доступ к значению можно получить, например, через $model->gender->gender_name

person veelen    schedule 10.01.2014
comment
Я не думаю, что это должно быть в таблице БД. Пользовательского метода на модели было бы достаточно. Что-то вроде getGenderText() - person HarryFink; 10.01.2014