关于模型的 $fillable

有一个疑问是不是所有用户没有权限设置的字段都不应该加入 $fillable
比如 user_id 这个字段或者一些由程序来维护的,例如 订单状态 等字段。

总持不遗,若注瓶水
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 6

首先,加入这个列表的字段属于可批量更新的字段,当你用create,update时,会验证是否黑白名单。如果你没加入的话,批量插入和更新都无法保存,这是值得注意的一点。第二,对字段进行赋值应该明确赋值,不应该使用$requrst->all(),你上面没提,但我还是回复一下

4年前 评论

不用 request->all() 很难受的,但是给模型加入白名单,又怕队友掉链子。

对于不对,老大说了算。

不想加入又用想用create update?

 public  function scopeAddFillable($field)
 {
        $self = new self();
        $self->fillable[] = $field;
        return $self;
 }

User::AddFillable('user_id')->create([
    'user' => 1
]);
4年前 评论
FMW 4年前
lyxxxh (作者) 4年前

@lyxxxh 你这个没有报错么

file

file

4年前 评论
bing8u

Model 的 forceFill() 方法不知道了吧,用这个。

4年前 评论

@bing8u 不错用这个正好
分享:fillable 的正确用法

$user = new User();
$user ->forceFill(['name' => 'Bruce Lee', 'age' => 18]);
$user ->save();
4年前 评论

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