关于Model自定义字段

1). 当前使用的 Laravel 版本?

Laravel 9

2). 当前使用的 php/php-fpm 版本?

PHP 版本:

php 8.1

2. 问题描述?

如何在Model查询结果中添加自定义字段?

* @property int $id 编号
* @property string $name 名称
class User extend Model{
    public function testField(): Attribute
    {
        return Attribute::make(
            get: function ($value, $attributes) {
                return 'test';
            }
        );
    }
}

通过如上代码添加自定义字段
查询时:

$user = User::first();
dump($user->test_field); // test 能访问到
dump(json_encode($user))
/**
 *{'id':'xx','name':'xx',}
 * 无法访问到testField ,怎么才能让查询结果中自动添加?
 */

如上代码所示,怎样让自定义字段自动添加到查询结果中?
吐槽下laravel的文档,感觉很多东西都没写到。。。

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
最佳答案

加到append属性里面,怎么没写是你没仔细看吧。文档写的挺好

1年前 评论
____Laravel (楼主) 1年前
讨论数量: 8

加到append属性里面,怎么没写是你没仔细看吧。文档写的挺好

1年前 评论
____Laravel (楼主) 1年前

汗,在系列化一节里面。。。我在“属性修改器”里面翻来覆去的找 :sob: 有些函数真的找不到,比如:route()->getPrefix(),这个在文档里完全查不到。。。

1年前 评论
____Laravel (作者) (楼主) 1年前

顺便咨询下,假如我有

$param = $request->only(['a' , 'b' , 'c',...]);
$user->a = $param['a'] ;
$user->b = $param['b'] ;
$user->c = $param['c'] ;
...
$user->save();

在不想用update方法时,有没有什么更简洁的写法。

1年前 评论
____Laravel (作者) (楼主) 1年前
RayFong_Chan 1年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!