[PROMOÇÃO] Assine com + 30% de desconto ANUAL MENSAL (últimas horas)
Higor Lemos do Prado
Criador Higor Lemos do Prado 05/11/2020

Olá Carlos, tudo bem?

Estou montando um sistema de cardápios com base nos conhecimentos que obtive nos seus cursos.

Tenho uma dúvida:

O sistema irá listar na url específica de cada empresa os produtos dentro de cada categoria, por exemplo:  Pizza(categoria)  - Pizza Siciliana(produto) - Marguerita(produto)...

O problema é que não estou conseguindo colocar os produtos dentro da categoria correta. Em cada categoria, lista todos os produtos.

No model fiz os relacionamentos de um para muitos e no método show, fiz o seguinte:

Controllers/FrontEnd/FrontEndController.php:

public function show($url)
{
$user = $this->user->where('url', $url)->first();
 
$categories = $user->categories()->get();

$products = $user->products()->get();

O que você acha que devo fazer para conseguir listar corretamente?

O projeto está aqui:

https://github.com/Higor23/cardapio

A rota principal que lista as empresas e que irá direcionar para cada empresa é: http://cardapio.test/cardapio/

Desculpe a bagunça no código, ainda vou fazer umas melhorias.

Obrigado!

Higor

 

 

Manager Carlos Ferreira 05/11/2020

Olá, Higor!
Tudo bem?

Não ficou muito claro, por que precisa relacionar as categories e products direto com o usuário?

A ideia é essa mesmo, recuperar o usuário pela URL dele?
$user = $this->user->where('url', $url)->first();
// Qual o resultado
dd($user);

Me passa mais detalhes para eu poder te ajudar, por favor.

Carlos Ferreira
Criador Higor Lemos do Prado 05/11/2020

Blza Carlos, a ideia do sistema é mais ou menos assim:
Será uma plataforma onde cada empresa cadastrará seu cardápio para poder enviar para seus clientes.
Então várias empresas utilizarão a plataforma, meio que individualmente.
Aí meu raciocínio foi relacionar as categorias e os produtos com cada usuário e sua url, deixando a url com o slug de cada empresa.
Por exemplo:
www.cardapio.com.br/cardapio/pizzaria-01
- categoria
    - produtos
-categoria
    - produtos

www.cardapio.com.br/cardapio/pizzaria-02
- categoria
    - produtos
-categoria
    - produtos


No backend cada empresa terá seu login e acesso separado, podendo visualizar somente seus produtos e categorias.

E no frontend será necessário exibir com a mesma lógica, cada empresa com seus produtos.

Higor Lemos do Prado
Manager Carlos Ferreira 05/11/2020

Está seguindo algo curso especifico para implementar isso?

Porque hoje na plataforma tem alguns cursos (excelentes) sobre multi-tenancy.

E o LaraFood com o VueFood tem um esquema bem legal, que vai exatamente ao encontro do que precisa.

------------

Essa questão de relacionar com a URL do usuário que ficou meio estranho para mim, no caso o user é a empresa?
Dá uma conferida no LaraFood, acho que vai te dá um cenário bem interessante de implementação, porque criei algo que vai bem ao encontro do que precisa.

Carlos Ferreira
Criador Higor Lemos do Prado 05/11/2020

O user é a empresa mesmo. Segui essa lógica, porque no backend consigo filtrar os produtos e categorias por usuário autenticado. Mas no frontEnd a exibição dos produtos e categorias são públicos e por isso não estou conseguindo filtrá-los. Comecei a fazer o curso do Larafood, mas não terminei, vou voltar a fazer o curso.

Higor Lemos do Prado
Manager Carlos Ferreira 05/11/2020

Posso finalizar esse chamado, ou ainda resta alguma dúvida amigo?

Carlos Ferreira
Criador Higor Lemos do Prado 05/11/2020

Pode finalizar, obrigado, Carlos!

Higor Lemos do Prado
Sabe a Solução? Ajude a resolver!

Precisa estar logado para conseguir responder a este ticket!

Clique Aqui Para Entrar!