我想更新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]);
答案 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
]);