Laravel - 推送阵列到收集

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

  $ cats = Auth :: user() - &gt; cats() - &gt; lists('title','id'); 
</ code> </ pre>

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

  $ cats-&gt; push(['5','BMW']); 
</ 代码> </ pre>

但我得到了:</ p>

  Collection {#459▼
#items:array:2 [▼
9 = &GT; “asd”
10 =&gt; 数组:2 [▼
0 =&gt; “5”
1 =&gt; “BMW”
]
]
}
</ code> </ pre>

如何更改我的代码以获得此结果:</ p>

  Collection {#459▼
#items:array:2 [▼
9 =&gt; “asd”
5 =&gt; “宝马”
]
}
</ code> </ pre>

那么如何将数组添加到此集合中?

p.s。 我需要这种格式,因为我使用select2 jquery插件</ p>
</ div>

展开原文

原文

I have this code where I try to grab all auth user categories:

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

and I want to add new data to $cats so I write:

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

but I got:

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

How I to change my code to get this result:

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

So how I can add the array to this collection? p.s. I need this format because I use select2 jquery plugin

doumei1908
doumei1908 使用->put(5,“?MWW”)
2 年多之前 回复
down2323
down2323 ['5'=>'宝马']......
2 年多之前 回复
doushi6947
doushi6947 新数据真的是['5','宝马']吗?或者['5'=>'宝马']?
2 年多之前 回复

2个回答



您可以像数组一样使用该集合:</ p>

  $ cats [5]  ='宝马'; 
</ code> </ pre>
</ div>

展开原文

原文

You can use the collection like an array:

$cats[5] = 'BMW';



我玩它 - 它很难看,但这里......某事...... </ p>

 $ item =(object)['id'=&gt;  5,'val'=&gt;  'cat']
</ code> </ pre>

{#925 +“id”:5,+“val”:“cat”,} </ p>

 collect([$ item])
</ code> </ pre>

{#924 all:[{#925 +“id”:5,+“ val“:”cat“,},],} </ p>

 collect([$ item]) - &gt; keyBy('id') - &gt; transform(
function($ obj){return $ obj-&gt; val;
})

</ code> </ pre>

{#907 all:[5 =&gt; “cat”,],} </ p>

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

展开原文

原文

I played with it - and it's ugly, but here's... something...

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

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

`collect([$item])`

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

`collect([$item])->keyBy('id')->transform(
    function($obj){ return $obj->val;
})`

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

So I think using keyBy() and transform() might get you where you're wanting to go.

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问