我有一个数组数组,它来自几个sql请求。 首先,我在foreach中发出一个sql请求,以获得我需要的所有数据
foreach ($users as $user) {
// Two different Eloquent requests
$todo = User::select().....where('users.id' = $id);
$done = User::select().....where('users.id' = $id);
// I have operation on Collection that work fine ...
$totalTimes = $todo->toBase()->sum('dureeformation') ;
$spendTimes = $done->toBase()->sum('dureeformation') ;
$remainingTimes = $totalTimes - $spendTimes;
$all[] = ['user_id' => $id, 'totalTime' => $totalTimes, 'spendTime' => $spendTimes,'remainingTime' => $remainingTimes ];
}
我的问题是以下...在foreach之外我显示值,我有这个数组数组...
array:16 [▼
0 => array:4 [▼
"user_id" => 1
"totalTime" => 465
"spendTime" => 0
"remainingTime" => 465
]
1 => array:4 [▼
"user_id" => 3
"totalTime" => 375
"spendTime" => 0
"remainingTime" => 375
]
我需要有一个Collection而不是......我试图让$ all = Collect(....)但我没有给我预期的结果。
我需要一个集合,因为我必须使用此创建的集合创建一个集合,并从另一个请求创建另一个集合。
关于这部分,我已经有了这个案例,我可以解决它。
感谢您的帮助
答案 0 :(得分:3)
试试这个辅助功能:
$collection = collect($all);
此函数会将您的数组转换为集合。