У меня есть базовая функция, по которой я передаю простой параметр:
public function template($person)
{
$offers = Offer::where([
['person', $person],
['published', true],
])
->orderBy('created_at','desc')->paginate(9);
}
Теперь я хочу сделать его конфиденциальным, если есть параметр или нет:
public function template($person)
{
if ($person) {
$offers = Offer::where([
['person', $person],
['published', true],
])
->orderBy('created_at','desc')->paginate(9);
} else {
$offers = Offer::where([
['published', true],
])
->orderBy('created_at','desc')->paginate(9);
}
}
это работает, но это не очень хорошая практика, что если у меня будет больше параметров:
public function template($person, $country, $region) {
....
}
Тогда мне придется сделать несколько случаев.Есть ли какая-нибудь вспомогательная функция для eloquent, чтобы упростить ее?