Ver índice de contenidos del libro

6.1. Mini-proyecto: productos y fotos

El primer problema está relacionado con la edición de un producto que puede contener un número ilimitado de fotos. El usuario debe poder editar el producto y todas sus fotos en el mismo formulario. Además el usuario puede subir hasta dos nuevas fotos del producto simultáneamente. A continuación se muestra uno de los posibles esquemas de este proyecto:

Product:
  columns:
    name:           { type: string(255), notnull: true }
    price:          { type: decimal, notnull: true }

ProductPhoto:
  columns:
    product_id:     { type: integer }
    filename:       { type: string(255) }
    caption:        { type: string(255), notnull: true }
  relations:
    Product:
      alias:        Product
      foreignType:  many
      foreignAlias: Photos
      onDelete:     cascade

Cuando esté terminado, el formulario tendrá el siguiente aspecto:

Formulario de producto y fotografías

Figura 6.1 Formulario de producto y fotografías