Je suis nouveau à laravel, et ai mis en place quelques modèles et vues, etc. Quoi qu'il en soit, ce que j'essaie de faire est, j'ai un modèle d'utilisateur, et un modèle d'équipes. Le champ 'id' est une clé étrangère pour l'identifiant team_id des utilisateurs. L'utilisateur peut rejoindre n'importe quelle équipe et l'équipe qu'il rejoint, son identifiant sera stocké dans 'team_id' de l'utilisateur. Ce que je tente de faire, en utilisant le champ team_id pour obtenir des données du modèle des équipes, comme le nom de l'équipe et l'afficher sur ma vue lame.Laravel 5.4 impossible d'accéder aux données via la clé étrangère dans la lame
Voici mon code pour le modèle des utilisateurs:
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');
}
}
Ceci est mon code pour le modèle des équipes:
`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);
}
`
` et ce Voilà comment je suis en train de le montrer dans la lame: {{$ user-> team_id-> TEAM_NAME}}
Mais au lieu de l'afficher, je continue à obtenir:
Trying to get property of non-object (View: D:\Code\PHP\Code\PlayOn\resources\views\admin\members.blade.php)
Toute aide serait apprécié!
Cela a fonctionné! Merci beaucoup! –