按特定索引平整laravel集合

时间:2018-09-20 08:41:39

标签: php laravel

假设我有一个像这样的集合:

Collection {#447
  #items: array:3 [
    0 => array:6 [
      "pos" => "0"
      "col" => "1"
      "row" => "1"
      "size_x" => "2"
      "size_y" => "1"
      "cat_id" => "1"
    ]
    1 => array:6 [
      "pos" => "0"
      "col" => "3"
      "row" => "1"
      "size_x" => "1"
      "size_y" => "1"
      "cat_id" => "11"
    ]
    2 => array:6 [
      "pos" => "0"
      "col" => "1"
      "row" => "2"
      "size_x" => "2"
      "size_y" => "1"
      "cat_id" => "10"
    ]
]
}

现在,我想要一个这样的数组,该数组仅获得cat_id索引。

[1,11,10]

如何在laravel中做到这一点?

3 个答案:

答案 0 :(得分:5)

有几种方法可以做到这一点。最简单的方法是使用pluck方法:

$collection->pluck('cat_id');

这将返回一个新的收藏集。如果要将其转换为数组,请在之后使用toArray()all()

$items = $collection->pluck('cat_id')->toArray();

答案 1 :(得分:2)

trait Blubblub: Blabla {
    fn get_1(self) -> u32;
}

impl<T: Blubblub> Blabla for T {
    fn xy(self, x: u32, y: u32) -> u32 {
        x + y + self.get_1()
    }
}

答案 2 :(得分:1)

使用pluck方法并将字段名作为参数传递:

$new_collection = $your_collection->pluck('cat_id');