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

Php 更新查询以更新laravel中的两个字段,php,mysql,laravel,Php,Mysql,Laravel,我想更新laravel 5.3中的两个字段。我有两个字段值“status\u id”和“comment”。我的查询正在运行,因为我只更新了“status\u id”字段 DB::table('travel_request') ->where('id',$id ) ->update(['status_id' => DB::table('travel_request_status')->where('status', $status)-&g

我想更新laravel 5.3中的两个字段。我有两个字段值“status\u id”和“comment”。我的查询正在运行,因为我只更新了“status\u 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]);

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

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

所有字段应在一个数组中

根据Laravel文档,更新方法需要一个数组 列和值对的集合,表示应 更新

试一试


你把封口放错地方了

DB::table('travel_request')
        ->where('id',$id )
        ->update(['status_id' => 
                      DB::table('travel_request_status')->where('status', $status)->first()->id
                 ,'comment'=>$comment]);
做一点小小的改变

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