class User extends Authenticatable
{
public function company() {
return $this->belongsTo('App\Company');
}
}
class Company extends Model
{
public function users() {
return $this->hasMany('App\User');
}
}
id name companies_id
id name
我试图获取附加给用户的公司名称。
$user = User::findOrFail(Auth::user()->id);
$companyName = $user->company()->first()->name;
我收到此错误消息Trying to get property of non-object
我没有得到我失踪的东西......提前谢谢你
答案 0 :(得分:9)
默认情况下,Eloquent采用关系的名称+' _id'猜猜外键。
A() : str_( ([]()->const char*{ const char* p=Func(); return (p ? p : "NULL"); })() ) {}
public function company() {
return $this->belongsTo('App\Company', 'companies_id')
}
答案 1 :(得分:2)
它也可能是null你的company_id字段
这个原因你必须在循环中检查你的字段
f.e
foreach($users as $user)
{
if(isset($user->company->title)):
echo $user->company->title;
else:
echo 'empty';
endif;
}
答案 2 :(得分:1)
不使用“第一”方法尝试。
$companyName = $user->company()->name;