猿问

laravel,如何检查这是否是最后一条记录

如何检查当前记录是否是模型中的最后一条?

   $lastorder=Order::find($order_id);
       if($lastorder->last())


慕容森
浏览 237回答 3
3回答

守着一只汪

$orders = Order::where('id','>=', $order_id)->get();$order = $orders->first();if($orders->count() > 1) {   //...   // NOT the last record :(   //...} else {    //...   // Last record :)   //...}

森栏

您可以在数据库的一次往返中完成所有操作!在 MySQL 中你会写:SELECT *FROM odersWHERE id = (SELECT MAX(id) FROM orders) AND id = [$order_id]因此,在 Eloquent 中,您会编写如下内容:Order::where('id', $order_id)     ->where('id', function($q) {         $query->selectRaw('MAX(id)')               ->from('orders');     })->first();看看是null不是你就知道了!

鸿蒙传说

$order=Order::find($order_id);$last_record = Order::orderBy('id', 'desc')->first();if($order->id == $last_record->id){    //last record;}假设 Order 表包含 id 作为主键。
随时随地看视频慕课网APP
我要回答