我正在优化具有以下代码段的现有laravel项目。此方法是从另一个foreach调用的。但是此方法只需要3秒钟即可处理一个回合。我可以做些什么来优化以下代码。
public function getFavouriteForRace($raceId)
{
$race = $this->raceRepository->find($raceId);
$selections = $this->selectionRepository->getSelectionsForRace($raceId);
//set product
$products = new EloquentResourceCollection($race->products, 'Resources\ProductResource');
$selections = $selections->map(function ($v) use ($products) {
$v->setProducts($products);
return $v;
});
$selections = $selections
->filter(function ($v) {
return $v->selectionStatus == SelectionStatusRepositoryInterface::SELECTION_STATUS;
})
->sortBy(function ($v) use ($race) {
return $v->getBetTypePrice(BetTypeRepositoryInterface::TYPE_WIN, (bool)$race->fixed_odds_enabled) ? : 999999;
});
return $selections->first();
}