更新查询以更新laravel中的两个字段

时间:2016-10-12 12:19:27

标签: php mysql laravel

我想更新laravel 5.3中的两个字段。我有两个字段值' status_id'和'评论'。我的查询工作是我只更新' status_id'字段

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

我尝试更新两个字段,如下所示

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

4 个答案:

答案 0 :(得分:4)

您传递了两个数组,但是您应该传递一个数组,其中包含两个key => value对作为参数:

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

答案 1 :(得分:1)

所有字段都应该在一个数组中。

  

根据Laravel Documentation,update方法需要一个数组   列和值对表示应该是的列   更新。

尝试

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

答案 2 :(得分:1)

你把关闭放错了地方

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

答案 3 :(得分:1)

做一个小改动。

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