Laravel - 推送阵列到收集

时间:2018-04-12 21:13:25

标签: php arrays laravel collections push

我有这个代码,我试图抓住所有auth用户类别:

$cats = Auth::user()->cats()->lists('title','id');

我想向$ cats添加新数据,所以我写道:

 $cats->push(['5','BMW']);

但我得到了:

    Collection {#459 ▼
  #items: array:2 [▼
    9 => "asd"
    10 => array:2 [▼
      0 => "5"
      1 => "BMW"
    ]
  ]
}

如何更改我的代码以获得此结果:

Collection {#459 ▼
  #items: array:2 [▼
    9 => "asd"
    5 => "BMW"
  ]
}

那么如何将数组添加到此集合中呢? 附:我需要这种格式,因为我使用select2 jquery插件

2 个答案:

答案 0 :(得分:2)

您可以像数组一样使用该集合:

$cats[5] = 'BMW';

答案 1 :(得分:-1)

我玩过它 - 它很难看,但是这里......某事......

if (dogs.get(i).getName().equalsIgnoreCase(toFind)){
       return i;
}

{#925 +" id":5,+" val":" cat",}

`$item = (object) ['id' => 5, 'val' => 'cat']`

{#924 all:[{#925 +" id":5,+" val":" cat",},],}

`collect([$item])`

{#907 all:[5 => "猫",],}

所以我认为使用keyBy()和transform()可能会让你到达你想去的地方。