У меня есть простой метод поиска в моей Game
модели, и я реализовал его, как показано ниже.
public static function search($season, $week)
{
$filteredGames = Game::with('season', 'week', 'homeTeam', 'awayTeam')
->when($season != null, function ($q) {
return $q->where('season_id', request('season'));
})->when($week != null, function ($q) {
return $q->where('week_id', request('week'));
})
->paginate(15);
return $filteredGames;
}
И использую его в контроллере следующим образом
$games = Game::search(request('season'), request('week'));
Похожеон отлично работает.
Я хочу узнать, является ли использование статического метода лучшим способом реализовать такую функцию с точки зрения шаблонов проектирования и принципов SOLID.
Любая помощь будет принята с благодарностью.