2016-10-12 5 views
2

aktualisieren ich zwei Felder in Laravel 5.3.I aktualisieren wollen, müssen zwei Felder Werte ‚status_id‘ und ‚comment'.my Abfrage funktioniert aktualisiere ich nur‚status_id‘FeldUpdate-Abfrage zwei Felder in Laravel

DB::table('travel_request') 
     ->where('id',$id) 
     ->update(['status_id' => DB::table('travel_request_status')->where('status', $status)->first()->id]); 

ich habe versucht, zwei Felder zu aktualisieren, da

DB::table('travel_request') 
     ->where('id',$id) 
     ->update(['status_id' => DB::table('travel_request_status')->where('status', $status)->first()->id],['comment'=>$comment]); 

Antwort

4

folgt zwei Arrays Sie sind vorbei, aber man sollte ein Array mit zwei key => value Paare als Parameter übergeben:

DB::table('travel_request') 
    ->where('id', $id) 
    ->update([ 
     'status_id' => DB::table('travel_request_status')->where('status', $status)->first()->id, 
     'comment' => $comment 
    ]); 
1

Alle Felder sollten in einem Array sein.

Nach Laravel Dokumentation, die Update-Methode erwartet ein Array von Spalten- und Wertepaaren, die die Spalten darstellt aktualisiert werden soll. Versuchen

DB::table('travel_request') 
     ->where('id',$id) 
     ->update(['status_id' => DB::table('travel_request_status')->where('status', $status)->first()->id, 'comment'=>$comment]); 
1

Sie Schließung in falschen Stelle setzen

DB::table('travel_request') 
     ->where('id',$id) 
     ->update(['status_id' => 
         DB::table('travel_request_status')->where('status', $status)->first()->id 
       ,'comment'=>$comment]); 
1

eine kleine Änderung durchführen.

DB::table('travel_request') 
->where('id',$id) 
->update(['status_id' => DB::table('travel_request_status')->where('status', $status)->first()->id,'comment' => $comment 
]);