Laravel Auth::user()是否具有关系?
我有一个常规的Laravel Auth::user()是否具有关系?,laravel,laravel-5,laravel-5.2,Laravel,Laravel 5,Laravel 5.2,我有一个常规的users表,但我也有一个user\u settings表,在我的UserSettings.php文件中具有以下关系: public function user() { return $this->belongsTo('App\Models\User'); } public function settings() { return $this->hasOne('App\Models\UserSettings'); } 以及我的User.php文件中的
users
表,但我也有一个user\u settings
表,在我的UserSettings.php
文件中具有以下关系:
public function user()
{
return $this->belongsTo('App\Models\User');
}
public function settings()
{
return $this->hasOne('App\Models\UserSettings');
}
以及我的User.php
文件中的设置方法:
public function user()
{
return $this->belongsTo('App\Models\User');
}
public function settings()
{
return $this->hasOne('App\Models\UserSettings');
}
我希望能够通过执行Auth::user()
访问用户及其设置,但执行Auth::user()->settings->column\u name
会出现错误:
正在尝试获取非对象的属性
如何使用
Auth::user()
获取用户设置?您必须在用户模型中设置设置方法:
public function settings()
{
return $this->hasOne('App\Models\Settings');
}
您可以这样访问它:
var_dump(Auth::user()->settings);
您不能像这样访问它Auth::user()->settings->column\u name
,因为您必须访问它
foreach(Auth::user()->settings as $setting) {
var_dump($setting->column_name);
}
你一定是疯了
正在尝试获取非对象的属性
错误,因为特定用户的用户设置
表中可能没有条目
你的关系看起来是正确的
只需转到
tinker
和查找您要为其获取错误的用户。然后尝试访问该用户的设置。@user6484209Auth::user()->settings()->column\u name
是否也返回错误?您可以打印Auth::user()->settings吗| Auth::user()->settings()
或者它也会抛出错误吗?为什么它是App\Models\user
而不是App\user
?您是否创建了一个文件夹Models
,并将您的模型文件保存在其中?用户是否已正确登录?首先尝试dump()
Auth::user()
,Auth::user()->settings
并找出什么是null
。在user\u settings
中肯定有一个用户条目。这对您有帮助吗@USER6484209这对你有帮助吗@用户6484209