关于模型的 $fillable

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

总持不遗,若注瓶水
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
讨论数量: 6

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

3年前 评论

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

对于不对,老大说了算。

不想加入又用想用create update?

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

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

@lyxxxh 你这个没有报错么

file

file

3年前 评论
bing8u

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

3年前 评论

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

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

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