Yii: how to show a field from a related table'

2019-07-16 14:49发布

问题:

Sorry ... my english is bad, so my question could be absolutely not clear.

I have this tables: Groups Users Reports

Relations: Groups 1 -> N Users 1 -> N Reports

In the admin view of report I'm using a CGridView.

i'm actually able to show user name. ... but what about show group.name ?

How to setup relations ? How to setup CDbCriteria ?

I already have this relation In Report model:

'user' => array(self::BELONGS_TO, 'Users', 'userId'),

And this in User model

'group' => array(self::BELONGS_TO, 'Gruppi', 'groupId'),

In Report Model I have this:

$criteria=new CDbCriteria;
$criteria->with = array ('user');

回答1:

You should be able to get the group.name like this(from report's admin view):

user.group.name

And your current relations will do, also you do not have to use any criteria.



回答2:

You can also use like this:-

$criteria->with = array('user', 'user.group');
group.name

One more solution for the problem. (Tested)



标签: yii