как правильно сделать универсальный метод обновления записи php? laravel
//1 Иногда нужно вставить такие поля в одном месте кода
$user->status = 'closed';
$user->profit = $profit;
$user->profit_percent = $percent;
$user->save();
//в 2 та же модель только обновить
$user->profit = $profit;
$user->profit_percent = $percent;
$user->save();
//в 3
$user->status = 'closed';
$user->save();
Есть мысль создать сервис который вызывался ьы в в любых местах только данные передавать в него только те какие нужно обновить
class Service {
public function update(User $user, string $status, int|float $profit, int|float $profit_percent)
{
//и тут эти поля проверять как то
}
// или массив перебирать как правильно?
public function update(User $user, array $parameters)
{
//и тут эти поля проверять как то
foreach($parameters as $key => $value){
$user->{$key} = value;
}
}
}
Источник: Stack Overflow на русском