Tenho no serviço um método salvar que realiza duas funcionalidades, inclusão e alteração de dados
Hoje é declarada uma variável que recupera o id e depois é utilizado um if ternário para determinar se o método está realizando uma inclusão ou alteração, exemplo:
$id = $request->input('id');
$exemplo = empty($id) ? new Exemplo() : Exemplo::find($id);
Porém foi solicitada a refatoração desse método, utilizando mutator no objeto fazendo com que a inclusão seja feita da seguinte maneira:
$exemplo = new Exemplo([
'campo_primeiro' => $request->campo_primeiro,
'campo_segundo' => $request->segundo,
'campo_terceiro' => $request->terceiro,
'campo_quarto' => $request->quarto,
]);
$exemplo -> save()
O exemplo acima resolve apenas a funcionalidade de inclusão, como aplicar isso para a funcionalidade de edição sem repetição de código?
Pensei em criar um método update e separar cada funcionalidade, porém o arquiteto do projeto falou que era para permanecer ambas funcionalidades no mesmo método.