Laravel的(5)质量分配保护有些不清楚。声称默认情况下处于启用状态的保护仅在我在应用程序“外部”时才起作用,例如,来自自定义工匠命令。当从自定义artisan命令运行时,从“php应用程序”起作用的相同质量分配代码将在批量分配异常时失败。这是为什么?任何地方都没有记录这种差异。
为什么“应用程序”和php工匠“命令”之间存在安全性差异?
有没有办法让工匠命令适用于批量作业而不更改fillable
或guarded
?
答案 0 :(得分:1)
您可以使用unguard命令来处理可填充数组的添加属性。
Model::unguard();
// User::create(['some_protected_attribute'=>'some value']);
Model::reguard();