如何更改数据库中 select 下拉列表的值

How to change value from select dropdown in database

我想更改下拉列表中的值,但我是新手而且我有点迷路。

这是我的控制器方法:

 public function changeStatus(Request $request)
{
    $lead = Lead::find($request->id);

    $lead = array(
        'status_id' => $request->status_id
    ); 
    Lead::whereId($request->id)->update($lead);
    return redirect()->back()
        ->with(['toast' => ['message' => 'Lead Status updated successfully !']]);
}

这是我在 vuejs 文件中的下拉菜单:

<select v-model="lead.status_id"  @change="onChanges()" class="form-select form-control">
                                        <option  v-for="status in statuses"
                                                 :value="status.id"
                                                 :key="status.id"
                                        >
                                            {{ status.status_name }}
                                         </option>

                                    </select>

这是我在 vue js 中的方法:

        onChanges(id,status_id) {
        this.$inertia.post(
            route("changestatus",{
                id:id,
                status_id:status_id,

            }),
        );
    },

路由没问题,问题可能出在我的方法上

我认为您应该将正确的值传递给您的 onChanges 方法。 当您使用 @change="onChanges()" 时,您应该使用与声明时相同的参数调用它 - id 和 status_id.

所以应该是这样的

@change="onChanges(lead.id, $event)"

在 js 中

  onChanges(id,event) {
    var status_id = event.target.value;
    this.$inertia.post(
        route("changestatus",{
            id:id,
            status_id:status_id,

        }),
    );