У меня есть коллекция, например, со следующими данными:
collect([
[
'id' => 1,
'bankName' => 'Dare-Schmitt',
'pmt' => 47068.084449396,
'period' => 240
],
[
'id' => 2,
'bankName' => 'Dare-Schmitt',
'pmt' => 45989.430695784,
'period' => 180
],
[
'id' => 3,
'bankName' => 'Dare-Schmitt',
'pmt' => 55459.759785392,
'period' => 240
],
[
'id' => 4,
'bankName' => 'Lorenzo-Platto',
'pmt' => 37068.084449396,
'period' => 50
]
]
);
Мне нужно отсортировать и отфильтровать их по показу только одной записи для того же bankName, где pmt является наибольшим, и просто проверить, где период такой же.
Итак, основываясь на примере после фильтрации и сортировки, я должен получить следующий результат:
collect([
[
'id' => 2,
'bankName' => 'Dare-Schmitt',
'pmt' => 45989.430695784,
'period' => 180
],
[
'id' => 3,
'bankName' => 'Dare-Schmitt',
'pmt' => 55459.759785392,
'period' => 240
],
[
'id' => 4,
'bankName' => 'Lorenzo-Platto',
'pmt' => 37068.084449396,
'period' => 50
]
]
);
Есть идеи, как этого добиться? Я немного потерял: D