在 Laravel 中使用表中的对象数组

好吧,我是 Laravel 的新手,我不知道我这样做是否正确或是什么。所以这是我的问题:我有一个控制器,它获取 id 并给出一个包含数组的对象。我只需要该数组中的对象,我可以这样获取它们:


$services = Service::findOrFail($id);

    $service = $services->order['orders'];

但是当我发送 $service 来查看时,我不知道如何使用 foreach 将它们设置在表中。


这是我的控制器:


    public function watch($id){

        $services = Service::findOrFail($id);

        $service = $services->order['orders'];


       return view('service.watch',['service'=> $service]);

}

当我从集合中获取所有文档并将它们发送到查看时,通常很容易,并且它们的结构相同,但它不能像这样工作。


这是我 var_dump $service 的时候:


 array(2) {

  [0]=>

  array(9) {

    ["_id"]=>

    object(MongoDB\BSON\ObjectId)#1221 (1) {

      ["oid"]=>

      string(24) "5f42734c00c6ed74e48624e5"

    }

    ["stat"]=>

    string(5) "false"

    ["customerPhone"]=>

    string(1) "5"

    ["orderQuantity"]=>

    string(1) "5"

    ["orderCost"]=>

    string(1) "5"

    ["orderId"]=>

    float(139907061720)

    ["orderTag"]=>

    string(1) "2"

    }

  [1]=>

  array(9) {

    ["_id"]=>

    object(MongoDB\BSON\ObjectId)#1222 (1) {

      ["oid"]=>

      string(24) "5f42734c00c6ed74e48624e6"

    }

    ["stat"]=>

    string(5) "false"

    ["customerPhone"]=>

    string(1) "9"

    ["orderQuantity"]=>

    string(1) "9"

    ["orderCost"]=>

    string(1) "9"

    ["orderId"]=>

    float(139907061725)

    ["orderTag"]=>

    string(1) "9"

             }

   }

在我看来我这样做了:


@foreach($service as $key=>$value)

   <td>{{ $value->customerPhone }}</td>

   <td>{{ $value->orderQuantity }}</td>

   <td>{{ $value->orderCost}}</td>

   <td>{{ $value->orderTag}}</td>

   @endforeach

请帮我编码这个。谢谢


慕妹3146593
浏览 68回答 1
1回答

开心每一天1111

正如您在 var_dump 结果中看到的,您的结果数据类型是数组,而不是对象。所以你必须通过索引 $value['customerPhone'] 访问
打开App,查看更多内容
随时随地看视频慕课网APP