簡體   English   中英

Laravel 表單請求不更新可為空的字段

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM