[英]Laravel: Map by key and get result in json
我正在使用mailgun API和批量發送,為了正確發送帶有recipent變量的批處理郵件,我必須提供一個有效的JSON編碼字典,其中key是普通的收件人地址,value是帶變量的字典。
我想獲得的JSON對象如下:
'{ "bob@example.com": {"username":"Bob", "id":1} ,
{ "pete@example.com": {"first":"Pete", "id":2} ,'
這是我到目前為止(偽代碼):
$subs = Sub::all();
foreach($subs as $sub)
{
$username = mailName($email->email);
$id = $sub->id;
}
我怎么能這樣做,是否可以使用laravel收集方法?
在此先感謝,並對諾布問題感到抱歉。
是的,你可以使用集合來獲得結果,所以回到你的偽代碼,你可以實現它:
$data = collect();
foreach($subs as $sub)
{
$data[$email->email] = [
'username' => mailName($email->email),
'id' => $sub->id
];
}
$data->toJson(); // this line will give you the expected result
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.