laravel, как проверить, если это последняя запись - PullRequest
0 голосов
/ 23 января 2020

как я могу проверить, является ли текущая запись последней в модели?

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

Ответы [ 3 ]

0 голосов
/ 23 января 2020
$orders = Order::where('id','>=', $order_id)->get();

$order = $orders->first();

if($orders->count() > 1) {
   //...
   // NOT the last record :(
   //...
} else { 
   //...
   // Last record :)
   //...
}
0 голосов
/ 23 января 2020

Вы можете сделать все это за один прием в базу данных!

В MySQL вы бы написали:

SELECT *
FROM oders
WHERE 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, и вы узнаете!

0 голосов
/ 23 января 2020
$order=Order::find($order_id);
$last_record = Order::orderBy('id', 'desc')->first();
if($order->id == $last_record->id)
{
    //last record;
}

Предполагая, что таблица заказов содержит идентификатор в качестве первичного ключа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...