私はlaravelに新しいが、いくつかのモデルとビューなどを設定しました。とにかく、私はしようとしているのは、チームモデル。フィールド 'id'は、ユーザーのteam_idの外部キーです。 ユーザーは参加しているチームとチームに参加できます。そのIDはユーザーの 'team_id'に保存されます。 チームの名前のようなチームモデルからデータを取得し、ブレードビューに表示するには、team_idフィールドを使用しています。ここでLaravel 5.4は、ブレード内の外部キーを介してデータにアクセスすることができません
ユーザーモデルの私のコードです:
protected $fillable = ['name',
'email',
'password',
'date_of_birth',
'team_id', /*references id in teams model*/
'matches_played',
'goals_scored',
'preffered_position',
'phone_number',
'role',
'ban_status',
'team_captain'
];
/**
* The attributes that should be hidden for arrays.
*
* @var array
*/
protected $hidden = [
'password', 'remember_token',
];
public function Teams(){
return $this->belongsTo('App\Teams', 'team_id');
}
}
これは、チームモデルのための私のコードです:
`protected $primaryKey = 'id';
protected $fillable = ['team_name', 'matches_played',
'matches_lost', 'goals_scored', 'goals_conceded',
'captain_name'];
public function User(){
return $this->hasMany('App\User','id');
}
`
public function showMembers(){
$users = User::with(array('Teams'))->get();
return view('admin.members')->with('users', $users);
}
`
` とこの{{する$ user-> team_id-> TEAM_NAME}}
しかし、代わりにそれを表示するので、私は取得し続ける:私はブレードでそれを表示しようとしている方法です
Trying to get property of non-object (View: D:\Code\PHP\Code\PlayOn\resources\views\admin\members.blade.php)
すべてのヘルプは次のようになり感謝!
どうもありがとう! –