You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel 8登录后如何为auth()函数的user对象添加非表字段自定义属性

Laravel 8 给User模型追加自定义字段的实现方案

方案1:使用模型访问器(长期生效,推荐)

这是Laravel原生支持的最佳方案,无需修改数据库,全局生效:

  • 打开app/Models/User.php模型文件
  • 在User类中添加自定义字段的访问器方法:
public function getUsFullnameAttribute()
{
    // 可根据需求调整拼接规则,比如加空格、特殊符号等
    return trim($this->us_name . ' ' . $this->us_surname);
}
  • (可选)如果需要该字段在模型转数组/JSON时自动带出(比如接口返回、dd()打印时可见),在User类中添加$appends属性注册字段:
protected $appends = ['us_fullname'];

配置完成后即可直接通过auth()->user()->us_fullname访问拼接后的完整姓名,所有User模型实例都支持该属性访问。

方案2:临时赋值(仅当前请求生效)

如果只需要在当前请求的用户对象上临时加自定义值,不需要全局生效,可以直接赋值:

// 登录成功后或任意位置直接给用户对象追加属性
auth()->user()->us_fullname = trim(auth()->user()->us_name . ' ' . auth()->user()->us_surname);

赋值后当前请求周期内都可以直接通过auth()->user()->us_fullname访问,请求结束后自动失效。

内容的提问来源于stack exchange,提问作者Uncertainty

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.10 07:15:03