如何为已完成的活动订购状态更新

时间:2016-03-09 12:57:10

标签: laravel

我有一系列活动。

这些事件有状态更新。

我每页分页10次。

加载页面时,状态更新按created_at desc排序。

我也有升序或降序的订单链接 通过在URL中传递?sort = asc或?sort = desc。

$sort = $request->has('sort') ? $request->query('sort') : 'desc';

if($sort == 'asc') {

    $statuses = $event->statuses()->oldest()->paginate(10);

} else {

    $statuses = $event->statuses()->latest()->paginate(10);

}

事件结束后,标记为已完成。 然后,事件按created_at desc排序。 所以它从头开始读取,如下:

if($sort == 'asc' || $event->completed) {

    $statuses = $event->statuses()->oldest()->paginate(10);

} else {

    $statuses = $event->statuses()->latest()->paginate(10);

}

但是,如果您尝试按状态created_at DESC对已完成的事件进行排序,则会看到该事件已完成并且已由ASC下达订单。

if($sort == 'asc' || $event->completed) {

    // If you go to ?sort=desc and the event has already been completed
    // This code will be executed, which I don't want.

    $statuses = $event->statuses()->oldest()->paginate(10);

} else {

    $statuses = $event->statuses()->latest()->paginate(10);

}

如何调整它以便您可以按状态DESC对已完成的事件进行排序?

0 个答案:

没有答案