[PROMOÇÃO] Assine com + 30% de desconto ANUAL MENSAL (últimas horas)
Marcio Holanda de Andrade
Criador Marcio Holanda de Andrade 28/12/2022

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..,

 

Manager Carlos Ferreira 28/12/2022

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?

Carlos Ferreira
Criador Marcio Holanda de Andrade 28/12/2022

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.. ?

 

Marcio Holanda de Andrade
Manager Carlos Ferreira 28/12/2022

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

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

Precisa estar logado para conseguir responder a este ticket!

Clique Aqui Para Entrar!