[英]Laravel form request not updating nullable field
我在 Laravel 中創建了一個 PostRequest(使用php artisan make:request PostRequest
)。 我有三列:標題、內容和標簽)。 標記列可以為空。 當我添加一些帖子時沒有問題,我可以添加標題、內容和標簽。
但是,當我想編輯帖子時,標題和內容欄會發生變化,但標簽欄不會。 怎么能處理這個?
控制器
public function update(PostRequest $request, Post $post)
{
$validated = $request->validated();
Post::whereId($post->id)->update($validated);
return redirect('/posts')->with('success', 'success');
}
PostRequest.php
public function rules()
{
switch ($this->method()) {
case 'POST':
{
return [
'title' => 'required|max:512',
'content' => 'required',
];
}
case 'PUT':
case 'PATCH':
{
return [
'title' => 'required|max:512',
'content' => 'required',
];
}
default:
break;
}
}
Post.php(模型)
protected $fillable = [
'title',
'content',
'tag',
'created_at',
];
您正在使用$request->validated()
過濾您的請求輸入並僅返回經過驗證的字段。 因此,為tag
添加新規則將解決您的問題:
return [
'title' => 'required|max:512',
'content' => 'required',
'tag' => 'nullable'
];
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.