Pregunta

Estoy a punto de rediseñar un esquema de base de datos y estoy considerando usar un ORM en mi aplicación. ¿Funcionaría el siguiente esquema con, por ejemplo, Eloquent ORM, o también tendría que agregar las tablas JOIN?

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)
¿Fue útil?

Solución

Lo único que probablemente haría diferente es tener la issue_id clave externa en el issue_details mesa para que puedas tener una cara a cara relación.

Entonces, si estuvieras usando Eloquent, podrías hacer algo como esto.

echo $issue->details->name;

Sin embargo, no estoy completamente seguro de qué almacenará en la tabla de detalles; tal vez haya varios detalles para un problema, en cuyo caso tendría un muchos a muchos relación.

Otros consejos

Además de lo que sugirió Jason, también puedes eliminar el category_id desde el issues tabla desde cada type ya tiene un category, ya tienes acceso a la categoría a través del tipo.

es decir. $issue->type->category

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top