2011-02-16 15 views
5

Antes de ORM, si quería mostrar la salida combinada de una tabla normalizada, simplemente hacía una CFQUERY rápida, unía las tablas en los campos que quería y mostraba la salida. Simplemente no puedo ponerme la cabeza alrededor usando ORM.ColdFusion ORM Relationship

Por ejemplo, con estas dos tablas:

customers 
(id, 
name, 
customerType) 

customerTypes 
(id, 
Name) 

¿Cómo se crea una sola entidad puede cargar para mostrar la siguiente cuando el campo CustomerType en enlaces a los clientes un id en customerTypes?

customers.id, customers.name, customerTypes.name 

Todos los ejemplos de relación ORM que he visto por algún motivo no me pueden hacer entender cómo hacerlo. Parece tan simple que me está matando. ¡Se agradecerá cualquier ayuda que arroje algo de luz sobre esto!

Respuesta

1

O, alternativamente

<cfproperty name="type" type="string" column="Name" table="customerTypes" joincolumn="id"> 

ver Join mapping in a CFC

+0

1 - No sabía que se podía hacer eso, bastante útil. –

1

Así que en su Customers CFC se necesita algo como esto:

<cfproperty name="customerType" type="CustomerTypes" fieldtype="many-to-one" cfc="CustomerTypes" fkcolumn="id" lazy="true" /> 

, entonces debería ser capaz de volcar una instancia de un objeto Customers y ver que tiene una propiedad customerType y por lo tanto se puede escribir algo como este:

<cfset cust = entityLoad("Customers", 1) /> 
<cfset type = cust.getCustomerType().getName() /> 

Espero que ayude!