(Laravel)当我从HTML选项中选择一个选项并按下按钮后,如何更新我的数据库?

axr492tv  于 2022-12-19  发布在  其他
关注(0)|答案(1)|浏览(121)

image
当我从“Schimbare status proiect”(表示“更改项目状态”)中选择一个选项并按下“Schimbare”按钮(表示“更改”)后,我如何更新我的数据库?
这里我有我的代码:
home.blade.php

@foreach($data as $data)
                <tr class="table-row-data">
                    <td>{{ $data->id }}</td>
                    <td>{{ $data->Denumire_Proiect }}</td>
                    <td>{{ $data->Firma_Client }}</td>
                    <td>{{ $data->Reprezentant_Firma }}</td>
                    <td>{{ $data->Contact_Client }}</td>
                    <td>{{ $data->Suma_Proiect }}</td>
                    <td>{{ $data->Numar_Transe }}</td>
                    <td>{{ $data->Status_Proiect }}</td>
                    <td>
                        <form action='post'>
                            <select id="cars">
                                <option value="pil">Proiect in lucru</option>
                                <option value="cs">Contract semnat</option>
                                <option value="pf">Proiect finalizat</option>
                            </select>
                        <button type="button" class="btn btn-primary">Schimbare</button>
                        </form>
                    </td>
                </tr>
                @endforeach

ShowController.php

class ShowController extends Controller
{
    public function show()
    {
        $data = Proiecte::all();
        return view('home', compact('data'));
        
    }
}

Web.php

Route::get('/home', [App\Http\Controllers\ShowController::class, 'show']);

image2
我想当我选择一个值从“更改项目状态”,并在我按下“更改”(schimbare)按钮,以更新我的数据库与选定的值从“更改项目状态”

lbsnaicq

lbsnaicq1#

首先在home.blade.php中将按钮类型从type=“button”更改为type=“submit”。
按如下方式修改表单:

<form action="{{ route('update' }}" method="POST">

<form>下放入csrf标记@csrf和方法@method('put'),应如下所示:

<form action='post'>
@csrf
@method('put')
...

在ShowController.php中添加另一个方法,如下所示:

public function update(Request $request, Proiecte $proiecte)
{
    $proiecte->update($request->all());

    return back();
}

不要忘记导入请求!
最后转到web.php并添加以下内容:

Route::put('/home/update', [App\Http\Controllers\ShowController::class, 'update'])->name('update');

应该可以

相关问题