(Desculpem minha pergunta incoerente: tentei responder algumas perguntas enquanto escrevia este post, mas aqui está :)
Estou tentando criar um modelo de banco de dados com um relacionamento muitos para muitos dentro de uma tabela de links, mas que também tem um valor por link, neste caso uma tabela de manutenção de estoque. (este é um exemplo básico para mais problemas que estou tendo, mas pensei em testá-lo antes de continuar).
Usei exportmwb para gerar as duas Entidades Store e Product para este exemplo simples, ambas são exibidas abaixo.
No entanto, o problema agora é que não consigo descobrir como acessar o valor stock.amount (int assinado, pois pode ser negativo) usando o Doctrine. Além disso, quando tento criar as tabelas usando orm: schema-tool: create function da doutrina
Isso resultou em apenas duas Entidades e três tabelas, uma como uma tabela de link sem valores e duas tabelas de dados, já que relacionamentos muitos para muitos não são entidades em si, então só posso ter Produto e Loja como uma entidade.
Então, logicamente, tentei mudar meu modelo de banco de dados para ter estoque como uma tabela separada com relacionamentos para armazenamento e produto. Também reescrevi os nomes dos campos apenas para poder excluí-los da origem do problema:
Então o que eu descobri foi que ainda não recebi uma entidade Stock ... e o próprio banco de dados não tinha um campo 'quantidade'.
Eu realmente precisava ser capaz de juntar essas lojas e produtos em uma tabela de estoque (entre outras coisas) ... então, apenas adicionar o estoque ao produto em si não é uma opção.
root@hdev:/var/www/test/library# php doctrine.php orm:info
Found 2 mapped entities:
[OK] Entity\Product
[OK] Entity\Store
E quando eu crio o banco de dados, ele ainda não me fornece os campos certos na tabela de estoque:
Então, procurando algumas coisas aqui, descobri que conexões muitos para muitos não são entidades e, portanto, não podem ter valores. Tentei mudá-la para uma tabela separada com relacionamentos com as outras, mas ainda não funcionou.
O que eu estou fazendo errado aqui?