未找到列:'field list' 中的 1054 未知列“_method”

Column not found: 1054 Unknown column '_method' in 'field list'

我想更新常见问题解答表单。但是我收到这个错误。

SQLSTATE[42S22]: Column not found: 1054 Unknown column '_method' in 'field list' (SQL: update faqs set _method = PUT, _token = Kz2Wkgd44UA3nOVzmE8PhCGH66ywP296UqUQR8m6, title = q, body = q, faqs.updated_at = 2019-09-15 18:55:06 where faqs.user_id = 1 and faqs.user_id is not null)

FaqController.php

public function update(FaqRequest $request, Faq $faq)
{
    auth()->user()->faq()->update($request->all());
    return redirect()->route('faq.index');
}

edit.blade.php

<form action="{{ route('faq.update', $faq->id ) }}" method="post">
    @method('PUT')
    @csrf
    @include('errors.validate')
    <div class="form-group">
        <label for="title">title</label>
        <input type="text" class="form-control col-md-3" id="title" name="title" value="{{ old('title') ? : $faq->title }}">
    </div>
    <div class="form-group">
        <label for="body">body</label>
        <textarea class="form-control" rows="10" id="body" name="body">{{ old('body')  ? : $faq->body }}</textarea>
    </div>
    <div class="form-group">
        <button type="submit" class="btn btn-primary">save</button>
    </div>
</form>

User.php

public function faq()
{
    return $this->hasMany(Faq::class);
}

Faq.php

class Faq extends Model
{
    protected $table = 'faqs';

    protected $guarded = [];

    protected $fillable = ['title', 'body'];
}

您可以使用 $request->except(...),例如通过将函数修改为

public function update(FaqRequest $request, Faq $faq)
{
    auth()->user()->faq()->update($request->except('_method', '_token'));

    return redirect()->route('faq.index');
}