【问题标题】:Laravel collection return collection with only fieldLaravel 集合返回集合,只有字段
【发布时间】:2016-12-15 23:04:23
【问题描述】:

我有这个带有一些字段的 Laravel 集合:

Collection {#324 ▼
  #items: array:3 [▼
    0 => array:5 [▼
      "img_src" => "http://newregalospersonales.dev/./svg/regalos-personalizados-gift.svg"
      "img_alt" => "<span>Regalos</span> originales"
      "class" => "personalised-gifts"
      "elements" => array:4 [▼
        0 => array:2 [▶]//element1
        1 => array:2 [▶]//element2
        2 => array:2 [▶]//element3
        3 => array:2 [▶]//element4
      ]
    ]
    1 => array:5 [▼
      "img_src" => "http://newregalospersonales.dev/./svg/love-gifts.svg"
      "img_alt" => "<span>Regalos</span> románticos"
      "class" => "love-gifts"
      "elements" => array:4 [▼
        0 => array:2 [▶]//element1
        1 => array:2 [▶]//element2
        2 => array:2 [▶]//element3
        3 => array:2 [▶]//element4
      ]
    ]
    2 => array:5 [▼
      "img_src" => "http://newregalospersonales.dev/./svg/regalos-ocasiones-especiales.svg"
      "img_alt" => "<span>Detalles</span><br>de boda"
      "class" => "wedding"
      "elements" => array:4 [▼
        0 => array:2 [▶]//element1
        1 => array:2 [▶]//element2
        2 => array:2 [▶]//element3
        3 => array:2 [▶]//element4
      ]
    ]
  ]
}

我只得到带有“元素”字段的集合。

我想要这样的结果:

Collection {#324 ▼
  #items: array:3 [▼
    0 => array:4 [▼
        0 => array:2 [▶] //element1
        1 => array:2 [▶ //element2 
        2 => array:2 [▶] //element3
        3 => array:2 [▶] //element4
    ]
    1 => array:4 [▼

        0 => array:2 [▶] //element1
        1 => array:2 [▶] //element2
        2 => array:2 [▶] //element3
        3 => array:2 [▶] //element4
    ]
    2 => array:4 [▼

        0 => array:2 [▶] //element1
        1 => array:2 [▶] //element2
        2 => array:2 [▶] //element3
        3 => array:2 [▶] //element4
    ]
  ]
}

有没有办法做到这一点? 我正在使用 Laravel 5.3 版本,我不知道在这种情况下使用该集合过滤器。

【问题讨论】:

    标签: laravel laravel-5 laravel-5.2 laravel-5.3


    【解决方案1】:

    你可以使用pluck()方法:

    $plucked = $collection->pluck('elements');
    

    pluck 方法检索给定键的所有值。

    【讨论】:

      【解决方案2】:

      看看pluck()方法。

      你可以这样使用它:

      $collection->pluck('field');
      

      More about it

      【讨论】:

        【解决方案3】:

        您可以使用 laravel 的 pluck() 方法从集合中获取选定的键,如下所示:

        $plucked_items = $collection->pluck('elements'); // returns a collection
        $plucked_items_arr = $plucked_items->all(); // returns an array
        

        希望这会有所帮助!

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2019-04-03
          • 2013-12-01
          • 1970-01-01
          • 1970-01-01
          • 2018-06-20
          • 2013-02-04
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多