Laravel 4 foreach循环 - 想要显示最后一个元素

时间:2014-03-24 21:12:39

标签: loops foreach laravel laravel-4

我目前正在尝试设置一个编辑页面,其中使用json_decode填充订单表单,以解码创建表单时保存的json信息。由于表单的大小可以更改,因此我必须创建正确的输入数量,以便所有json数据都有一个可以显示的位置。幸运的是,随着输入的编号,这应该不难做到。不幸的是,我不确定如何选择已解码的json信息的最后一个元素。目前我正在使用:

public function getEdit($id){
        $order = Order::where('id', '=', $id);

        if($order->count()) {
            $order                      = $order->first();
            $order->order_serialized    = json_decode($order->order_serialized);

            foreach($order->order_serialized as $key => $value){
                $order->$key = $value;
            }
            return View::make('orders.edit')
                    ->with('order', $order);
        }   else {
            return App::abort(404);
        }
    }

解码信息并且它工作得非常好但是我需要能够找到最后一个元素才能找到输入的总数,并且我不知道如何在不打扰foreach循环的情况下做到这一点。任何和所有的帮助将不胜感激!!非常感谢你!

2 个答案:

答案 0 :(得分:3)

您可以使用counttoArray方法查找最后一项。

$nItem = $order->count();
$aOrder = $order->toArray();
$aLastItem = $aOrder[$nItem-1];

答案 1 :(得分:3)

收藏集具有last()功能,可以补充first()功能。