我希望能够修改 Laravel 5.6 使用的 Auth->user() 数据。我有一个名为设置的表,其中有一列名为user_id
其中对应于一个用户id。
我尝试修改app\User.php
并添加一个__construct
功能:
public function __construct() {
$this->settings = Settings::where('user_id',
Auth->user->id()
)->first();
}
我创建了一个文件app\Settings.php
具有以下内容:
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class settings extends Model
{
protected $table = "settings";
}
但是我收到一个用户错误Auth->user()->id
线路输入User.php
,尽管我确定这是引用它的正确方法?
我怎样才能从settings
表到用户类?
你可以只使用load()
延迟加载关系的方法:
auth()->user()->load('settings');
您只需在每个请求中执行一次此操作,例如在中间件中。然后您将能够在应用程序的任何部分使用这些数据:
{{ auth()->user()->settings->theme }}
当然,为了使这项工作有效,您需要在User
型号,例如:
public function settings()
{
return $this->hasOne(Settings::class);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)