Cannot display related fields using lazy loading

Please help me, I am still a Yii beginner :-[

May be I don’t understand something with lazy loading.

I have a model folders with relation. There is a foreign key User_Id. It is related to the primaryKey of the User Table: Id.

public function relations() {

    return array(

        'User'=>array(self::BELONGS_TO, 'User', 'User_Id')

Now I want to display data of an existing field of the related User model:

echo "User: ".$model->User->Name;

I get the error

Trying to get property of non-object.

$model->User seems to be NULL. I don’t understand, why. It is the first time, I use lazy loading …

Of course I can access the attributes of the folders model, for instance:

echo "Folder Title: ".$model->title;


echo "User: ".$model->User->Name;

$model is almost a model of User, so you haven’t to type $model->User to get User, but you have user in $model.

I don’t understand that right ???

I want to display User->name in the folders form. In my example the variable $model contains the activeRecord object of the folders model.

This is the controller code of the folders controller:

public function actionUpdate() {


  if ( isset($_POST['folders']) ) {


     } else {




In update.php the variable $model is passed to _form.php. There is nothing special.

Please can you give me a hint, how to display attibutes of the related model User (using the lazy loading method of Yii).


I think you must use with :

The documentation of the with method says:

with(): Specifies which related objects should be eagerly loaded.

But I wanted to try lazy loading. It is my first attempt with lazy loading …

What goes wrong in my example?

I found the reason of the problem:

In my model I had a public variable named $User. I used this variable before I defined the relation to the model User and I forgot to delete this variable.

Now the expression $model->User refered to the variable $User and not to the relation "User". Therefore $model->User was empty because it did not refer to the relation with the same name.

I apologize for this mistake. Thank you for trying to help me.