【发布时间】:2020-06-22 18:45:27
【问题描述】:
我想从列中获取最后一条记录,然后更新它...只是最后一条记录
我试过这样,但它不起作用
DB::table('sales')
->where('id', $salesid)
->pluck('debt')
->last()
->update([
'debt'. => 34
]);
【问题讨论】:
-
是的,我可以找到最后一条记录...但是如何更新最后一条记录?
-
它不必是 2 个查询,它可以在一个查询中完成。 stackoverflow.com/questions/15715922/…
-
试试这个:
$last_row = DB::table('sales')->orderBy('id', 'DESC')->first();然后$update = DB::table('sales')->where('id', $last_row->id)->update(['debt' => 34]); -
最后一条记录?我会假设一个“id”是一个唯一标识符,所以不应该超过 1 个......你是说名为
debt的字段有很多值吗?不明白为什么“最后”或“第一”等在这里起作用 -
不需要是2个查询;只需使用
limit():DB::table('sales')->orderBy('id', 'DESC')->limit(1)->update(['debt' => 34]);。但是,如前所述,如果提供了id,orderBy()和limit()似乎是多余的,因为它应该是唯一的。如果不是,那就另当别论了。