私は外部キーを使ってProfile
にhasMany
という関係を持つUser
エンティティを持っています。私は、私がリンクされProfile
エンティティ私は私がまたきTrying to get property of non-object
リンクされたCakePHP3エンティティからデータを取得する
を取得しようとどのような
protected $_virtual = ['profile_name'];
protected function _getProfileName()
{
return $this->profile->name;
}
のname
プロパティにアクセスできる仮想フィールドを作成しようとしている私のUser
クラス内
試しました:
$this->_properties['profile']->name;
$this->profile->_properties['name'];
私はこのデータを取得するには、Cake\ORM\Table
しかし私はそれを許すことを望んでいる。
私は間違っていますか?
P.S. 2つのテーブルの間に確実にリンクされたデータがあります。
のアレイであります関係はテーブル/テーブルクラス間であり、エンティティではなく、エンティティはダムデータコンテナであり、それらは知らない(または知るべきではない)anytあなたはあなたがそのコンテキスト内のエンティティについて話しているとき、人々はあなたを誤解するかもしれません。つまり、エラーに遭遇したときの最初のステップは、オブジェクトではないときに、参照されたプロパティが実際に_is /保持しているものをデバッグすることです(btwの場合は実際には間違っています)。そのようなデバッグの詳細は常にあなたの質問に含まれるべきであり、しばしばそのような情報を収集するときに問題を解決する。 – ndm