Как получить доступ к отношениям модели в activeRecord? - PullRequest
0 голосов
/ 10 января 2019

У меня есть модель, как показано ниже:

 class Book extends ActiveRecord
   {
        { public function getDomain()
        {
            return $this->hasOne(Domain::className(), ['ID' => 'domainID']);
        }

        public function getOwnerPerson()
        {
            return $this->$this->hasOne(Person::className(), ['ID' => 'ownerPersonID']);
        }

        public function getCreatorUser()
        {
            return $this->$this->hasOne(User::className(), ['ID' => 'creatorUserID']);
        }

        public function getUpdaterUser()
        {
            return $this->$this->hasOne(User::className(), ['ID' => 'updaterUserID']);
        }
    }

Я создал объект из модели Book следующим образом: $model=Book::find()->all(); когда я использую $model->domain, все в порядке, но когда я использую $model->ownerPerson, выдает ошибку: Object of class backend\models\Book could not be converted to string

в чем проблема?

1 Ответ

0 голосов
/ 10 января 2019

Удалить второй $ this.

return $this->$this->hasOne(Person::className(), ['ID' => 'ownerPersonID']);
to
return $this->hasOne(Person::className(), ['ID' => 'ownerPersonID']);
...