Home > database >  How to change value from select dropdown in database
How to change value from select dropdown in database

Time:01-02

i want to change value from my dropdown but i'm begginer and i'm little lost. enter image description here

This is my Controller method:

 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 !']]);
}

This is my dropdown in vuejs file:

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

                                    </select>

and this is my method in vue js:

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

            }),
        );
    },

the route is fine, the problem are probably my methods.

CodePudding user response:

I think you should pass right values to your onChanges method. When you use @change="onChanges()" you should call it with the same parameters as it was declared - id and status_id.

So it should be something like this

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

And in js

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

        }),
    );
  • Related