class User extends Authenticatable
{
public function company() {
return $this->belongsTo('App\Company');
}
}
class Company extends Model
{
public function users() {
return $this->hasMany('App\User');
}
}
nom d'utilisateur sociétés_id
nom d'utilisateur
J'essaie d'obtenir le nom de la société associée à l'utilisateur.
$user = User::findOrFail(Auth::user()->id);
$companyName = $user->company()->first()->name;
J'ai eu ce message d'erreur Trying to get property of non-object
Je ne comprends pas ce qui me manque ... Merci d'avance
Par défaut, Eloquent prend le nom de la relation + '_id' pour deviner la clé étrangère.
public function company() {
return $this->belongsTo('App\Company', 'companies_id')
}
public function companies() {
return $this->belongsTo('App\Company')
}
En outre, il peut être nul votre champ company_id
Cette raison, vous devez vérifier votre terrain sur la boucle
f.e
foreach($users as $user)
{
if(isset($user->company->title)):
echo $user->company->title;
else:
echo 'empty';
endif;
}
Essayez-le sans la "première" méthode.
$companyName = $user->company()->name;