[PROMOÇÃO] Assine com + 30% de desconto ANUAL MENSAL (últimas horas)
Mateus Soares
Criador Mateus Soares 02/11/2020

Boa tarde, tudo bem ?

Professor, o relationships funciona com update ? 
Exemplo:

Suponha que tenho uma tabela só com imagens, e meu produto tem relacionamento com categoria e imagem, aí resolvo atualizar o produto com uma nova imagem. Consigo atualizar a imagem na mesma função ou devo ter uma interface de imagens no meu produto? Tentei o explemplo abaixo, mas não funcionou:

$this->repository->relationships('imagens')->update($id, $request->all());

 

Devo criar no consturtor do ProductController uma estancia do ImageRepositoryInterface ou existe outra solução ?

Criador Mateus Soares 02/11/2020

Minha duvida também é fazer o store.

Mateus Soares
Zeca Laca 02/11/2020

Opa, tenho a mesma dúvida, se consigo fazer atualização de um produto e imagem que estão em tabelas diferente usando o respositories relationships ou tenho que instancia a interface no construtor do meu controller de produtos.

 

Exemplo:

    public function __construct(ProdutosRepositoryInterface $repository, ImagensRepositoryInterface $repositoryImagens)

Zeca Laca
Manager Carlos Ferreira 02/11/2020

Olá, Mateus!
Tudo bem?

A relação de produto para imagens, seria 1:N One To Many?
Ou seja, um produto tem várias imagens?

Neste caso, precisa saber exatamente qual imagem deseja atualizar....

Me dê um pouquinho mais de detalhes na relação de product x image que te dou o melhor caminho para este caso.

Carlos Ferreira
Manager Carlos Ferreira 02/11/2020

Olá, Zeca!

Inicie uma nova thread (ticket) para discutirmos a sua dúvida.

No aguardo.

Carlos Ferreira
Criador Mateus Soares 02/11/2020

Então, no caso de imagens o relacionamento é 1:N One To Many, mas tenhou outra situação onde um user está ligado a uma table de configuração de painel. Tenhao a tabela user e uma config com dados de cor_dashboard, cor_menu e etc.

Se eu quiser atualizar a cor dashboard usando o esquema repositroy interface como ficaria ?

Consigo carregar as configurações do usuário 1 sem problemas, meu relacionamento funciona perfeitamente.
<pre>
$this->repository->relationships(['user_config'])->findById(1);
</pre>
mas não consigo atualizar, mesmo passando todos os campos com o mesmo nome da tabela, só atualiza os dados do usuário, e não as configurações.
<pre>
$this->repository->relationships(['user_config'])->update($request->all());

</pre>

 

Mateus Soares
Manager Carlos Ferreira 02/11/2020

Olá, Mateus!

Em uma relação 1:N precisa de um identificador único do registro da tabela com força força (no caso images ou no outro exemplo configs), porque só assim seria possível atualizar o registro especifico.

Outra possibilidade, seria por exemplo no caso de atualizar as configurações do user, é deletar todas as configurações atuais, e inserir novamente as configurações atualizadas.

Em resumo, é mais simples atacar direto na tabela com menos força (images ou configs).

Carlos Ferreira
Criador Mateus Soares 02/11/2020

Poderia me mostrar um exmplo sem ter que excluir as configurações e poder atualizar usando o relationships como nesse exemplo ?

 

$this->repository->relationships(['user_config'])->update($request->all());

 

Mateus Soares
Manager Carlos Ferreira 02/11/2020

Seria algo complexo criar uma implementação que faça isso, é possível, mas é complexo, prova da complexidade é que nem o poderoso Eloquent do Laravel entrega algo parecido.

No seu caso o repository deveria representar logo config, e a implementação seria diretamente com o repository de configuração.

Pegou a ideia amigo?

Carlos Ferreira
Sabe a Solução? Ajude a resolver!

Precisa estar logado para conseguir responder a este ticket!

Clique Aqui Para Entrar!