yii2 Trying to get property of non-object - При загрузке модели (передаче её в конструктор)
Primary tabs
Убедитесь что объект не объект не создаётся два раза (используйте для этого Yii::trace())
Дело в том, что объект в конструктор которого вы передаёте метод может создаваться не только вами явно но и каким-то mapping-ом.
В нашем случае был такое решение:
function __construct(User $user) { parent::__construct(); // $user2 = \Yii::$app->user->identity; // с этим работает всегда \Yii::trace($user, "User Object"); $this->organization_name = $user->organization->name; }
дело в том, что yii2 вызывал данный конструктор, но не передавал в него объект user, что приводило к ошибке.
Решение
Решили проблему так:
function __construct(User $user = null) { parent::__construct(); // $user2 = \Yii::$app->user->identity; // с этим работает всегда \Yii::trace($user, "User Object"); if ($user) { // проверяем передан ли объект $this->organization_name = $user->organization->name; } }
- Log in to post comments
- 3604 reads