2016-12-27 4 views
0

私はlaravel 5.3を使用しています。私はcitiesテーブルに対してhasOne関係を持つリストテーブルを持っています。私の見解でhasOne()メソッド名のために関係を返さない

public function city() 
{ 
    return $this->hasOne('App\City', 'id', 'city_id'); 
} 

{{$listing->city->name}} 

この原因エラー

非オブジェクト

のプロパティを取得しようとしているが、私は以外にメソッド名を変更したとき市、

私の見解

{{$listing->foo->name}} 

public function foo() 
{ 
    return $this->hasOne('App\City', 'id', 'city_id'); 
} 

この1作品。

市町村のメソッド名にはどのような問題がありますか? 私は他のプロジェクトのcityメソッド名に問題はありません。

答えて

2

都市は、コードの他の場所にあるオブジェクトの属性として使用されているようです。既に値が含まれているため、この値がリレーションの代わりに使用されます。あなたは$ listing->都市の値を設定し、いくつかの場所のための

ルックは、手掛かりのためDD($ listing->都市)をやってみてください。そして、あなたがそれを見つけることができない場合は、エラーがあなたがこれまで投稿したもの以外のどこかにあるので、あなたのコードをいくつか投稿してください。

関連する問題