Pergunta

Eu estou prestes a reformulação de um esquema de banco de dados e estou pensando em usar um ORM no meu app, seria o abaixo esquema de trabalho com, por exemplo, Eloqüente ORM, ou será que eu também tenho que adicionar as tabelas de junção bem?

ISSUES(ID, ORGANIZATION_ID, DATE, TIME, CATEGORY_ID, TYPE_ID, ISSUE_DETAILS_ID)
ISSUE_DETAILS(ID, NAME, STATUS, EMAIL)
ORGANIZATIONS(ID, NAME, ADDRESS, CONTACT)
CATEGORIES(ID, CATEGORY)
TYPES(ID, TYPE, CATEGORY_ID)
Foi útil?

Solução

A única coisa que eu tinha, provavelmente, fazer de forma diferente, é ter o issue_id chave estrangeira na issue_details tabela de modo que você pode ter um um a um relação.

Então, se você estava usando Eloqüente que você poderia fazer algo assim.

echo $issue->details->name;

Eu não sou inteiramente certo o que você vai armazenar na tabela detalhes que, talvez haja vários detalhes para um problema em que caso você deseja ter uma muitos-para-muitos relação.

Outras dicas

Além de que Jason sugeriu, você também pode remover o category_id do issues uma vez que cada tabela type já tem uma category, você já tem acesso à categoria através do tipo.

i.e. $issue->type->category

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top