services e respository
[Finalizado Pelo Aluno]
Caso eu não queira trazer todas as informações dos Cursos, qual a melhor maneira de fazer essa "query" ?
OU.., caso eu queira trazer os dados relacionados a Cursos.., como por exemplo Categoria..,
Olá, Marcio!
Tudo bem?
Quais informações do curso você pretende retornar?
Compartilhar comigo a query que você fez, que te ajudo em cima do seu caso de uso.
--
Sobre trazer cursos por categorias, você pode fazer um join, e filtrar pela categoria retornando um array dos cursos:
https://laravel.com/docs/9.x/queries#joins
Pegou a ideia amigo?
Olá Carlos, tudo bem.
Gosto muito dos seus cursos.., voce explica de uma maneira didatica..
Mas eu peguei esse seu curso para desenvolver um projeto.. que ja estou com o tempo curto. hehhe
Vamos la..., hoje eu tenho as seguinte tabelas..
>> Product
>> Brand
>> Product_vs_Category (nessa tabel ao product, esta amarrado somene a categoria principal aonde o parent_id = null)
>> Category (aonde existe um auto relacionamento, porque uma categoria pode ser pai de um outra)
Porque eu preciso enviar Departamento, Categoria, SubCategory.
Eu tenho que enviar para um api...,
As informações que estão nessas tabelas...
Eu comecei trazendo os produtos.., ja esta ok...
Fiz um join com a tabela de Brand, ok..
Seria a melhor maneira de fazer isso ??
$products = DB::table('product as p')
->select('p.uuid as product_Uiid',
'p.label as product_label',
'p.description as product_description',
'b.label as brand')
->join('brand as b', 'p.brand_uuid','b.uuid')
->take(2) // um teste para pegar somente 2 registros
->get();
Depois eu tenho que pegar o categoria do product que esta na tabela product_vs_category
Com essa categoria.. eu preciso verificar qual o Departamento, Categoria e Subcategoria que esta em Category.
Segue a api.. heheh
https://mkplace.stoplight.io/docs/manual-integracao-seller/tjqrtp2mrdtkt-produtos-e-variacoes
Dúvida..
Depois que eu estiver todas essas informações eu vou enviar para essa api....
Qual seria a melhor estratégia para fazer isso.. ?
A forma como você fez é interessante, mas assim só é útil quando precisa montar uma query muito mais complexa, neste caso é complexidade desnecessária, coisa que o próprio Eloquent resolve de forma mais simples para você;
--
Se você criar o relacionamentos todos certinhos nos models (passado o custom name da sua tabela pivô), usar o Eloquent vai deixar o seu trabalho muito mais produtivo.
// #model Product
public function brands()
{
return $this->belongsToMany(Brand::class);
}
No seu caso, você poderia ter deixado a coluna ID como UUID, mas sem problemas, é possível informar qual é a coluna KEY do seu banco:
https://laravel.com/docs/9.x/eloquent#primary-keys
Precisa estar logado para conseguir responder a este ticket!
Clique Aqui Para Entrar!