Search code examples
yii2

Yii 2 error - Trying to get a property of non object


I was trying to search the needed information, but couldn't find any of that. Somehow, I get this error and I don't know where I'm doing a mistake.

Here is my action:

public function actionFilter()
{
    $filterParams = Yii::$app->request->get();
    unset($filterParams['r']);

    $model = new Sale();
    $dataProvider = $model->filterParameters($filterParams);

    return $this->render('filter', [
        'dataProvider' => $dataProvider,
        'filterParams' => $filterParams,
    ]);
}

And here is my view:

'attribute' => 'sale_id',
'width' => '14%',
'value' => function (Sale $model) {
    return $model->sale->client->getClientName();
}
],  
[
    'attribute' => '',
    'value' => function (Sale $model) {
        return $model->sale->client->getClientSale();
    }
],

I'm getting the error on the 'value' return line. The function getClientName() is in client model. Could someone explain what I'm doing wrong? Thanks for any help.


Solution

  • Propably there's no model linked to your main $model. You should check if it's set by:

    return $model->debtor && $model->debtor->client ? $model->debtor->client->getFullName() : null;
    

    AND

     return $model->debtor && $model->debtor->user ? $model->debtor->user->getFullName() : null;