使用嵌套集合获取正确输出的问题

时间:2018-01-28 21:04:03

标签: laravel

嵌套:

   $collection = collect([
     'result' => [
        ['product' => 'Desk', 'price' => 200],
        ['product' => 'Chair', 'price' => 100],
        ['product' => 'Bookcase', 'price' => 150],
        ['product' => 'Door', 'price' => 100]
      ],
    ]);

    $filtered = $collection->where('price', 100);

    $filtered->all();

不嵌套:

  $collection = ([
        ['product' => 'Desk', 'price' => 200],
        ['product' => 'Chair', 'price' => 100],
        ['product' => 'Bookcase', 'price' => 150],
        ['product' => 'Door', 'price' => 100],
    ]);

    $filtered = $collection->where('price', 100);

    $filtered->all();

当上面没有嵌套结果时,我可以得到这个输出,如何得到与结果嵌套的相同输出?

/*
    [
        ['product' => 'Chair', 'price' => 100],
        ['product' => 'Door', 'price' => 100],
    ]
*/

2 个答案:

答案 0 :(得分:0)

如果您对集合的结果键进行过滤

,该怎么办?
$filtered = $collection.result->where('price', 100);

答案 1 :(得分:0)

我想出了我需要做的事情。我刚刚创建了一个新变量:

$ collection1 = collect($ collection [' result']);

似乎解决了我的问题。