Объединение таблиц

Есть 2 таблицы:

posts - должности.

id

postname

emp - сотрудники

id

name

post_id - должность сотрудника, fk на posts.id

в модели empModel:


public function relations(){

    return array(

      'post'=>array(self::BELONGS_TO, "postModel", "post_id"),

    );

  }

Когда выполняю


$emps=EmpModel::model()->with('post')->findAll();

то я могу обратиться к имени сотрудника как $emps->name, а вот к его должности получается обращаться только как $emps->post[‘postname’]

А как можно сделать так, чтобы должность подставлялась к основным данным, чтобы можно было обратиться к ней как $emps->postname, или чтобы в post_id вместо id должности выводилсась название должности?

Мне это нужно для вывода в таблице списка сотрудников вместе с должностями (использую ext2js)

Чем не устраивает $emps->post->postname?

Если хочется еще проще, то можете добавить в модель EmpModel метод getPostName(), суть которого будет заключаться в возвращении этого самого значения. В таком случае можно будет писать просто $emps->postname.

Проблема вот в чем:

в Ext4yii есть методы, которые автоматически строят таблицы на основании модели. Данные о полях они берут из ActiveRecordMetaData этой модели. Там описаны поля, их типы, размеры, и т.д основной таблицы модели. Но вот дополнительных полей типа postname там нет, поэтому Extjs такие поля не рассматривает и не отображает.

Создать метод getPostName() - хорошая идея, про этот способ я и забыл :)

Но вот в случае с Ext4yii он не поможет - в метадату колонка не попадает, а надо, чтобы была модель, в которой postname было бы как обычное поле таблицы.

Вообще, это ведь часто встречающаяся задача - подставлять значения - полюбому же должны быть простые способы для этого.

Возможно проблема в ext4yii? Мы юзаем ExtJS, но на ext4yii забили. Стандартные вещи делает неплохо, а вот такие приколы - с трудом. Плюс не нашли как добавить нестандартное поведение компонентов. Поэтому пока что пишем просто ExtJS + Yii :)

Видимо так и придется сделать. Спасибо!