Error: Trying to get property of non-object by accessing foreign value

Hi,

I’m new in yii2, but look’s to be a great framework.

I just try to access a foreign table value:





$model->priority->priority






with this error





Trying to get property of non-object


    1. in /var/www/html/c/w/retrx/views/notice/index.php at line 38

    29303132333435363738394041424344454647


            'filterModel'=>$searchModel,

            'columns' => [

                ['class' => 'yii\grid\SerialColumn'],

                'id',

     

                 [

                    'value' => function($model, $index, $widget){

     

                                    var_dump($model->priority);

                                    return $model->priority->priority;

                            },

                    'attribute' => 'priority_id',

     

                    'filter' => Html::activeDropDownList($searchModel, 'priority_id', ArrayHelper::map(NoticePriority::find()->asArray()->all(), 'id', 'priority_sign'),['class'=>'form-control','prompt' => 'Select Priority']),

                ],

     

                'subject',

                //'notice:ntext',

                'created_on',


    2. in /var/www/html/c/w/retrx/views/notice/index.php at line 38 – yii\base\ErrorHandler::handleError(8, 'Trying to get property of non-ob...', '/var/www/html/c/w/retrx/views/no...', 38, ...)

    32333435363738394041424344


                'id',

     

                 [

                    'value' => function($model, $index, $widget){

     

                                    var_dump($model->priority);

                                    return $model->priority->priority;

                            },

                    'attribute' => 'priority_id',

     

                    'filter' => Html::activeDropDownList($searchModel, 'priority_id', ArrayHelper::map(NoticePriority::find()->asArray()->all(), 'id', 'priority_sign'),['class'=>'form-control','prompt' => 'Select Priority']),

                ],

     




if I do var_dump the foreign model, I receive the object information:





object(app\models\NoticePriority)#323 (<img src='http://www.yiiframework.com/forum/public/style_emoticons/default/cool.gif' class='bbc_emoticon' alt='8)' /> { ["_attributes":"yii\db\BaseActiveRecord":private]=> array(4) { ["id"]=> int(2) ["priority"]=> string(1) "B" ["priority_sign"]=> string(3) "←" ["priority_rank"]=> int(2) } ["_oldAttributes":"yii\db\BaseActiveRecord":private]=> array(4) { ["id"]=> int(2) ["priority"]=> string(1) "B" ["priority_sign"]=> string(3) "←" ["priority_rank"]=> int(2) } ["_related":"yii\db\BaseActiveRecord":private]=> array(0) { } ["_errors":"yii\base\Model":private]=> NULL ["_validators":"yii\base\Model":private]=> NULL ["_scenario":"yii\base\Model":private]=> string(7) "default" ["_events":"yii\base\Component":private]=> array(0) { } ["_behaviors":"yii\base\Component":private]=> array(0) { } } NULL NULL NULL NULL NULL NULL 




but why appears the error message above? I do have a object :-/

Thanks for help!

Toby

for all newbies :rolleyes: I got the solution


 return isset($model->priority->priority_sign) ? $model->priority->priority_sign : ''

1 Like

Thanks much sir! it worked fine