Array
(
    [0] => stdClass Object
        (
            [Votos_Balanceados] => 1
            [id] => 542846
            [titulo] => Qual a forma correta de cadastrar e listar um produto com mais de uma categoria 
            [dataCadastro] => DateTime Object
                (
                    [date] => 2016-01-18 11:56:50
                    [timezone_type] => 3
                    [timezone] => America/Sao_Paulo
                )

            [isFirstPost] => -1
            [idUsuario] => 418027
            [status] => A
            [isExample] => 
            [NomeUsuario] => Jothaz
            [Apelido] => 
            [Foto] => 418027_20150313165406.jpg
            [Conteudo] => Não existe "forma correta", pois a beleza da modelagem e desenvolvimento é justamente que um problema pode ser resolvido de várias formas.

No caso da modelagem pode acontecer de que algumas soluções podem comprometer a performance ou o uso, mas não procure por "receitas", pois não existem.

A solução proposta pelo Moisés é uma forma de abordar a questão, porém não dá a flexibilidade desejada, pois um filme poderia pertencer a mais de duas categoria.

Eu vejo que uma solução mais flexível seria cria um tabela relacionando filmes e categorias que pode ser feito de duas formas:

Filme:
--ID_filme

Categoria/Filme
--ID_filme
--ID_Categoria

Categoria
--ID_Categoria

Categoria/Filme teria uma chave composta das duas chaves estrangeiras.
E se relaciona com Filme e Categoria

Ou da forma a seguir:

Filme:
--ID_filme

Categoria/Filme
--ID
--ID_filme
--ID_Categoria

Categoria
--ID_Categoria

Neste caso Categoria/Filme tem um ID próprio e faz-se o relacionamento das chaves com Filme e Categoria.

Então isto é somente a minha visão outras pessoas pode sugerir algo diferente. ) )

Qual a forma correta de cadastrar e listar um produto com mais de uma categoria

Erik Silva
   - 18 jan 2016

exemplo exite um filme que tem os gêneros ação/aventura e exite as categorias de filmes de ação e filmes de aventura, eu queria listrar esse filme nas duas categorias

Post mais votado

Jothaz
   - 18 jan 2016

Não existe "forma correta", pois a beleza da modelagem e desenvolvimento é justamente que um problema pode ser resolvido de várias formas.

No caso da modelagem pode acontecer de que algumas soluções podem comprometer a performance ou o uso, mas não procure por "receitas", pois não existem.

A solução proposta pelo Moisés é uma forma de abordar a questão, porém não dá a flexibilidade desejada, pois um filme poderia pertencer a mais de duas categoria.

Eu vejo que uma solução mais flexível seria cria um tabela relacionando filmes e categorias que pode ser feito de duas formas:

Filme:
--ID_filme

Categoria/Filme
--ID_filme
--ID_Categoria

Categoria
--ID_Categoria

Categoria/Filme teria uma chave composta das duas chaves estrangeiras.
E se relaciona com Filme e Categoria

Ou da forma a seguir:

Filme:
--ID_filme

Categoria/Filme
--ID
--ID_filme
--ID_Categoria

Categoria
--ID_Categoria

Neste caso Categoria/Filme tem um ID próprio e faz-se o relacionamento das chaves com Filme e Categoria.

Então isto é somente a minha visão outras pessoas pode sugerir algo diferente.

Moisés
   - 18 jan 2016

Erik, sou meio novo no mundo da programação, mas creio que vc poderia cria mais categorias como por exemplo:
Ação = Categoria 1
Aventura = 2
Ação e Aventura = 3
....

quando for fazer a consulta por ação vc pede trazer categoria 1 e Categoria 3 quando for aventura categoria 2 e 3 creio q assim por diante. mas pode ter inúmeras maneiras de fazer isso depende apenas da logica de cada programador.

Erik Silva
   - 18 jan 2016

essa forma eu já pensei também mas eu acho que não e correto, porque eu vou ter que criar uma mais colunas na tabela de produtos para cada categoria ?