我想更新匹配条件的最后一条记录。我在代码中获得了多个结果,因此我采用了不同的方式。
$u = user_payments::where('id', $id)->where('staff_id', $staffId)->orderBy('id','desc')->first();
$up = user_payments::where('id', $u->id)->update(['transaction_id' => $transaction_id]);
这里我必须查询两次,所以它调用数据库两次,因为我想优化查询,我尝试如上所述,但我想在单个查询中...我该怎么做?谢谢。
最佳答案
这应该可以满足您的需要。最终只有一个更新脚本在数据库上运行。
$result = user_payments::where('id', $id)
->where('staff_id', $staffId)
->orderBy('id','desc')
->take(1)
->update(['transaction_id' => $transaction_id]);
关于php - 更新单个查询中匹配条件的最后一条记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44083900/