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

Laravel中如何dump模型的attributes属性?

解决Laravel模型无法直接访问protected属性attributes的问题

因为$model->attributes是Laravel Eloquent模型的protected属性,直接访问无法获取到值,给你几个实用的实现方式:

  • 方法一:使用官方封装的getAttributes()方法
    这是最标准的官方解决方案,Laravel已经提供了获取属性数组的公共方法,直接调用即可:

    @dump($model->getAttributes());
    
  • 方法二:将模型转为数组/JSON查看
    如果只是想快速查看所有属性数据,也可以直接把模型转为数组或格式化后的JSON,里面会包含完整的attributes内容:

    @dump($model->toArray());
    // 或者转成带格式的JSON,可读性更强
    @dump($model->toJson(JSON_PRETTY_PRINT));
    
  • 方法三:自定义模型方法(适合频繁使用场景)
    要是你需要经常单独查看attributes,可以在对应的Eloquent模型里添加一个简单的公共方法:

    // 在你的模型类中添加
    public function showAttributes()
    {
        return $this->attributes;
    }
    

    之后在视图里直接调用这个自定义方法:

    @dump($model->showAttributes());
    

补充说明:直接访问$model->attributes返回null的原因是,Laravel模型通过魔术方法__get()处理属性访问,但仅针对不存在的公共属性生效;而attributes是protected属性,不在魔术方法的处理范围内,所以无法直接获取。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 01:04:52