我正在从数据库中提取一些东西:
$foo = $this->fooRepository->all()->lists('name', 'id');
我得到:
Collection {#506 ▼
#items: array:9 [▼
"9c436867-afe9-4234-a849-253aea4f602c" => "aaa"
"d250102b-1370-40d0-99c5-7e5bfd0a15e4" => "sss"
"7342f212-083b-458d-8af8-24986bbb627d" => "ddd"
"029c53ce-dc16-49fd-8d83-9d8270d9ff37" => "fff"
"3add6a37-72e2-4054-853e-9ed8addbf3ea" => "ggg"
"28f5a9ac-014e-4f22-bda8-e2d5b1f48273" => "hhh"
"94fccb2c-d732-4369-9bf7-78925797e578" => "jjj"
"5b494994-93f0-406e-b420-aceb7b6111d7" => "kkk"
"22a7824a-c6eb-45e7-b9c5-e40c134e3ac8" => "lll"
]
}
完美。稍后将此集合传递到 Form::select
中以填充选择/选项下拉列表。
我想在这个集合前面添加另一个键值对,其中键为空字符串,而值包含类似 "选择一些东西" 的文本。
我可以附加:
$foo[''] = 'Choose something…';
所以我得到的是
Collection {#506 ▼
#items: array:10 [▼
"9c436867-afe9-4234-a849-253aea4f602c" => "aaa"
"d250102b-1370-40d0-99c5-7e5bfd0a15e4" => "sss"
"7342f212-083b-458d-8af8-24986bbb627d" => "ddd"
"029c53ce-dc16-49fd-8d83-9d8270d9ff37" => "fff"
"3add6a37-72e2-4054-853e-9ed8addbf3ea" => "ggg"
"28f5a9ac-014e-4f22-bda8-e2d5b1f48273" => "hhh"
"94fccb2c-d732-4369-9bf7-78925797e578" => "jjj"
"5b494994-93f0-406e-b420-aceb7b6111d7" => "kkk"
"22a7824a-c6eb-45e7-b9c5-e40c134e3ac8" => "lll"
"" => "Choose something…"
]
}
但是我不知道如何将它作为集合的第一个元素移动。我不能简单地使用array_merge
,因为我正在处理Illuminate\Database\Eloquent\Collection
实例而不是数组,所以这个答案不适用。
有什么提示吗?谢谢。
Illuminate\Support\Collection
。 - Matt Komarnicki$foo
集合的位置内。 :) 一切都好。别担心! - Matt Komarnickilists
已经被弃用,应该使用pluck
代替。 - Matt Komarnicki->prepend('选择一些东西...', '');
的效果非常棒! - Rox