Laravel 更新不工作或不路由

And*_*rei 0 php database laravel

我在 laravel 项目中制作了一个更新表单来更新我数据库中的一些条目,但是当我按下提交按钮时,什么也没有发生。我不知道为什么。尝试了一切。这是表格:

<form action="{{ route('loans.update', $loan->id)}}" method="patch">
    <p class="al-left">
        {{csrf_field()}}
        <label for="date">Date:</label>
        <input type="date" name="date" value="{{$loan->data}}" id="date">
    </p>

    <p class="al-left">
        <label for="name">Name:</label>
        <input type="text" name="name" value="{{$loan->nume}}" id="name">
    </p>

    <p class="al-left">
        <label for="period">Period(months):</label>
        <input type="number" name="period" value="{{$loan->durata}}" id="period">
    </p>

    <p class="al-left">
        <label for="month">Month Rate(euro):</label>
        <input type="number" name="month" value="{{$loan->valoare_rata_luna}}" id="month">
    </p>

    <p class="al-left">
        <label for="amount">Amount:</label>
        <input type="number" name="amount" value="{{$loan->valoare_totala}}" id="amount">
    </p>

    <input type="submit" class="btn btn-sm btn-primary" name="submit" value="Edit">
    <br>
    <br>
</form>
Run Code Online (Sandbox Code Playgroud)

这是控制器中的删除功能:

public function update(Request $request, $id){

    $id = Auth::id();
    $loan =loan::find($id);

    $loan->cod_user=$id;
    $loan->nume = $request->name;
    $loan->data=$request->date;
    $loan->durata=$request->period;
    $loan->valoare_rata_luna=$request->month;
    $loan->valoare_totala=$request->amount;
    $loan->save();
    return view("loans")->with('loans', $loans);
}
Run Code Online (Sandbox Code Playgroud)

路线:

Route::resource('/finance/loans','loanController');
Run Code Online (Sandbox Code Playgroud)

要说表单操作在loans.blade.php

Sre*_* BS 6

表单只支持GETPOST方法。您欺骗了“PATCH”方法,例如:

<form action="{{ route('loans.update', $loan->id)}}" method="POST">  //**Here method = POST
    <p class="al-left">
        {{ csrf_field() }}
        {{ method_field('PATCH') }} //**Here give PATCH by spoofing method
        <label for="date">Date:</label>
        <input type="date" name="date" value="{{$loan->data}}" id="date">
    </p>
    ..
    ..
    ..

</form>
Run Code Online (Sandbox Code Playgroud)

希望它有帮助。