我需要一种仅在创建Article模型时设置ArticleCategory的方法,并且在使用$ fillable数组的更新过程中不会更改此方法。我需要做到以下几点:
1-我想通过大规模分配来做到这一点 2-我使用表单请求验证进行验证
那么有$ fillable数组用于创建,一个用于更新吗?
谢谢...
答案 0 :(得分:0)
只有一个fillable
属性,因此默认情况下无法实现所需的操作。
但是您可以使用only
并只检索要更新的输入:
从文档中
如果您需要检索输入数据的子集,则可以使用 仅和方法除外。这两种方法都接受单个数组 或动态参数列表:
$input = $request->only('username', 'password');
$input = $request->except(['credit_card']);
在您的情况下,将是这样的:
public function update(UpdateArticleRequest $request, $id)
{
$article = Article::findOrFail($id);
$article->update($request->only('title', 'name'));
}
答案 1 :(得分:0)
您不能真正做到这一点,但可以考虑以下替代方案:
请勿将ArticleCategory
放入$fillable
数组中。
使用以下内容:
$article = new Article($request->all());
$article->ArticleCategory = $request->input('ArticleCategory');
$article->save();
通过这种方式,您可以在需要时显式设置文章类别,并防止其进行大量分配。
我认为这是解决此问题的明智方法,因为ArticleCategory
应该受到一般保护。