$dishesRequest = collect([
[
'id' => 1,
'quantity' => 4,
],
[
'id' => 2,
'quantity' => 8,
],
]);
$dishes = collect([
[
'id' => 1,
'price' => 100,
],
[
'id' => 2,
'price' => 200,
],
]);
у нас есть 100 уверенность
какая разница какие обьемы?
$dishesRequest->mergeJoin('id', function($item1, $item2){ код мерджа}, $dishes);
в 2 прохода не играет роли.
Зачем вам 2 цикла, если данные отсортированы
Как я понимаю, все равно цикла будет 2
И почему именно keyBy, а не тот же $dishesRequest->pluck('quantity', 'id')?