Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Loops Laravel 4 foreach循环-希望显示最后一个元素_Loops_Foreach_Laravel_Laravel 4 - Fatal编程技术网

Loops Laravel 4 foreach循环-希望显示最后一个元素

Loops Laravel 4 foreach循环-希望显示最后一个元素,loops,foreach,laravel,laravel-4,Loops,Foreach,Laravel,Laravel 4,我目前正在尝试设置一个编辑页面,其中使用json_decode填充订单,以解码创建表单时保存的json信息。因为表单的大小可以更改,所以我必须创建正确数量的输入,以便所有json数据都有一个显示位置。幸运的是,由于输入被编号,这应该不难做到。不幸的是,我不知道如何选取已解码的json信息的最后一个元素。目前我正在使用: public function getEdit($id){ $order = Order::where('id', '=', $id); if(

我目前正在尝试设置一个编辑页面,其中使用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循环的情况下执行此操作。我们将非常感谢您的任何帮助!!非常感谢你

您可以使用
count
toArray
方法查找最后一项

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

您可以使用
count
toArray
方法查找最后一项

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

集合有一个
last()
函数来补充
first()
函数。

集合有一个
last()
函数来补充
first()
函数。

谢谢!听起来这正是我想要的。快速提问-它说“Undefined offset:6”你知道这意味着什么吗?你确定数组的索引是数字而不是列名吗?未定义的偏移量6表示它正在查找不存在的$aOrder[6]
var\u dump($aOrder)
,并查看元素的外观。虽然不确定这是否太重要,但ceejayoz有一个更清晰的答案,而且我没有意识到有一个
last()
方法。很抱歉,我没有看到对此的评论。我dd($aoorder)并看到它列出了所有的输入,这很好。我看了看dd($nItem),注意到它是7,尽管还有更多的项目,所以我以后还要看。但再次感谢!谢谢听起来这正是我想要的。快速提问-它说“Undefined offset:6”你知道这意味着什么吗?你确定数组的索引是数字而不是列名吗?未定义的偏移量6表示它正在查找不存在的$aOrder[6]
var\u dump($aOrder)
,并查看元素的外观。虽然不确定这是否太重要,但ceejayoz有一个更清晰的答案,而且我没有意识到有一个
last()
方法。很抱歉,我没有看到对此的评论。我dd($aoorder)并看到它列出了所有的输入,这很好。我看了看dd($nItem),注意到它是7,尽管还有更多的项目,所以我以后还要看。但再次感谢!我尝试像这样使用last()foreach($order->order\u序列化为$key=>$value){$order->$key=$value;if($order->$key->last()){$last\u元素=$order->$key;};};},但调试说我试图在非对象上使用它。不在foreach循环中,在它之外,比如$order->last()是您的$order对象的最后一行对不起,我没有看到您之前的评论。这看起来很棒。我有个简单的问题。在我的数据库中,表单的所有输入都存储在json编码信息的“order_serialized”行中。为了达到这个目的,我想使用:
$order->order\u serialized=json\u decode($order->order\u serialized)$last_item=$order->order_serialized->last()但它返回“调用未定义的方法stdClass::last()”,知道我哪里出错了吗?我尝试像这样使用last()foreach($order->order\u序列化为$key=>$value){$order->$key=$value;if($order->$key->last()){$last\u元素=$order->$key;};}但是调试说我试图在一个非对象上使用它。不在foreach循环中,在它之外,比如$order->last()是$order对象的最后一行抱歉,我之前没有看到你的评论。这看起来很棒。我有个简单的问题。在我的数据库中,表单的所有输入都存储在json编码信息的“order_serialized”行中。为了达到这个目的,我想使用:
$order->order\u serialized=json\u decode($order->order\u serialized)$last_item=$order->order_serialized->last()但返回“调用未定义的方法stdClass::last()”,知道我哪里出错了吗?