Laravel填充未设置组件属性

我遇到了 Laravel 的一个问题,希望有人能帮忙解释一下。填充命令不是设置模型的属性,而是只能用->save()函数将它们保存到数据库中。有没有办法fill从数组中实际设置模型的属性。

下面的问题示例。

$comment = new comment();
$comment->fill(['name' => 'Bob']);
echo($comment->name); // Gives null/error.
$comment = new comment();
$comment->name = 'Bob';
echo($comment->name); // Gives Bob.

回答

原因是名称归档在评论模型中不可填写。要解决此问题,您必须在评论模型中为该字段添加可填写

protected $fillable = [
        'name',

    ];

如果您尝试访问不可填写的字段,则它将返回 null。

如果不想将其添加到可填充中,则可以使用 forceFill.

forceFill:使用具有力质量分配的属性数组填充模型。

$comment = new comment();
$comment->forceFill(['name' => 'Bob']);
echo($comment->name);


以上是Laravel填充未设置组件属性的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>