我正在使用Laravel 5.8。我的api控制器中有此功能
$bill=new Bill();
$bill->msisdn =$msisdn;
$bill->trans_id =$transReference;
$bill->ext_id =$ref_id;
$bill->amount=$game_check->amount;
$bill->answer=$useroption;
$bill->game_code=$useresponse;
$bill->is_complete_transactions =1;
$bill->billing_channel="Unity-7799";
$bill->save();
我还有另一个表user_response,模型类是User_Response。它具有以下字段: id,msisdn,答案,answer_code
我想从 $ bill = new Bill()获取最后一条记录,其中$ bill-> msisdn等于User_Response中的msisdn。然后使用$ bill-> answer更新User_Response中的答案。
请问我该如何实现?
答案 0 :(得分:0)
因此,save()
方法始终返回数据库中最近保存的数据。
如果您$bill->save()
因此最后插入的记录可以与您触发save()
的对象相同。
例如,我需要在插入后从数据库中最后插入一个ID。
$bill = new Bill();
$bill->myFileds = $request->myfields;
$bill->save();
$lastInsertedId = $bill->id;
从上面的代码中可以看到。最后插入的记录是$bill
。您可以将其用于User_Repsonse
User_Response::where('msisdn',$bill->msisdn)->update(['answer'=>$bill->answer]);
你在这里