metodo updateOrCreate
preciso fazer um update Or create deste metodo alguem pode me ajudar help
public function getUnity($product, $request)
{
if ($request->get('unities') != null) {
foreach ($request->get('unities') as $unity) {
$attributes = $product->toArray();
$attributes['name'] .= " {$unity}";
$attributes['unity'] = $unity;
$attributes['parent_id'] = $product->id;
$this->repository->create($attributes);
}
}
}
Olá, Luciano!
Tudo bem?
Veja como funciona:
$user = User::updateOrCreate(
['email' => $email],
['name' => $name]
);
Neste exemplo, vai usar como critério o e-mail do usuário, se já tiver um usuário com este e-mail, vai apenas atualizar o nome $name, caso contrário vai criar um novo usuário, com este nome e e-mail.
Pegou a ideia?
Poderia fazer este que passei assima para mim deixar salvo nos meus tickets
Pra quando eu quiser usar de exemplo para outras atividades do meu trabalho
A lógica é essa:
updateOrCreate(
condição aqui,
valores para inserir ou atualizar aqui
);
No seu exemplo, quais são os critérios dos filtros?
Digo, quais são os campos únicos da tabela que está persistindo que vai usar como filtro?
É o nome? Se sim, pode fazer assim:
Product::updateOrCreate(
['name' => $attributes['name']],
$attributes
);
Precisa estar logado para conseguir responder a este ticket!
Clique Aqui Para Entrar!