zack zack
zack zack

Reputation: 207

How to take the id from the form in laravel

i want to change the status of patient in table , so when i click on the button Accepter , all the status of each patient change , how can i fix this problem ?

This is the controller :

public function completedUpdate(Request $request, rendezvous $rdv )
{
        $id=$request->input('id');
        $data = rendezvous::all();
        foreach($data as $rdv) {
            if ( $rdv->Etat_de_rdv == 'en_attente' )
            {
            DB::table('rdv')->where('Etat_de_rdv','en_attente')->update(['Etat_de_rdv' => 'Accepter']);
            }

           elseif ( $rdv->Etat_de_rdv == 'Accepter' ) {

            DB::table('rdv')->where('Etat_de_rdv','Accepter')->update(['Etat_de_rdv' => 'Pas disponible']);
           } 

           elseif ( $rdv->Etat_de_rdv == 'Pas disponible' ) 
           {
            DB::table('rdv')->where('Etat_de_rdv','Pas disponible')->update(['Etat_de_rdv' => 'Accepter']);
        }
    
            $data->Etat_de_rdv = $request->changeStatus;

        }
        
     return redirect('/dashboard');    
}

and this is the form :

   @if($lo->Etat_de_rdv == "en_attente") 
            <form action="{{ route('completedUpdate',$lo->id) }}" method="post">
                {{ csrf_field() }}  
                <input type="hidden" class="form-control"  name="id" value="{{$lo->id}}" >                        
                <button type="submit" class="btn btn-success" name="changeStatus" value="Accepter">Accepter</button>
            </form>                    
             @elseif($lo->Etat_de_rdv=="Accepter")
            <form action="{{ route('completedUpdate',$lo->id) }}" method="post">
                {{ csrf_field() }}  
                <input type="hidden" class="form-control"  name="id" value="{{$lo->id}}" >                            
                <button type="submit" class="btn btn-danger" name="changeStatus" value="Charger">Annuler</button>
            </form>                                                 
          @elseif($lo->Etat_de_rdv=="Pas disponible")
          <form action="{{ route('completedUpdate',$lo->id) }}" method="post">
              {{ csrf_field() }}  
              <input type="hidden" class="form-control"  name="id" value="{{$lo->id}}" >                            
              <button type="submit" class="btn btn-success" name="changeStatus" value="Accepter"> Accepter </button>
          </form>                                                 
        @endif

Upvotes: 0

Views: 53

Answers (1)

Digvijay
Digvijay

Reputation: 8957

Simply add where condition to the query.

DB::table('rdv')->where('id', $id)-> ... 

Upvotes: 1

Related Questions