0
respostas

LARAVEL MESMO MÉTODO PARA DUAS FUNCIONALIDADES

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.