我有一些自定义值,我希望在用户登录时在整个项目中使用。我正在控制器中编写函数,但是每次调用该静态方法都会使代码有点冗长。除了要调用该函数外,我还不想为其分配自定义值,Auth::user()
因此可以在项目中的任何地方使用它。我在代码下面尝试了它,但是它不起作用
public static function getUserDetailById($id){
//Do Something and assign value to $custom_val
Auth::user()->custom = $custom_val;
}
Run Code Online (Sandbox Code Playgroud)
但这不适用于任何控制器或视图。我尝试检查自定义值,Auth::user()
但缺少该值。
有什么方法可以向其中添加自定义值Auth::user()
而不在表中添加新列?
Par*_*ora 10
这很简单。您可以为此创建一个访问器。
应用\用户.php
public function getCustomAttribute()
{
return 'Custom attribute';
}
Run Code Online (Sandbox Code Playgroud)
现在,您可以使用以下方式在任何地方访问它:
echo Auth::user()->custom;
Run Code Online (Sandbox Code Playgroud)
更多信息:
https://laravel.com/docs/5.4/eloquent-mutators#defining-an-accessor
归档时间: |
|
查看次数: |
5556 次 |
最近记录: |