Ver Mensaje Individual
  #19 (permalink)  
Antiguo 24/03/2012, 04:48
Avatar de masterpuppet
masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 10 meses
Puntos: 845
Respuesta: Empezando con Doctrine 2.2.1

Cita:
Si si, ;) muy atento pero es que un amigo me dijo que el tenia ambas, aunque pense en preguntarle por que y cuando lo usaba, al final se me olvido hacerlo. Pero el esta trabajando desde hace 6-7 años ya y es un buen consejero. De todas formas se lo preguntare. Ya se que para consultar la fkidcategoria si mapeo la relacion lo haria de la forma $categoriapadre->id en vez de $fkidcategoria, pero el me dijo que usaba ambas y por eso puse la relacion y la clave foranea como tal.
Como si tuviera 12, si prestas atención estas creando una propiedad en tu modelo que no precisas y en tu bbdd duplicando la fk, la razón para esto seguramente sea evitar una query mas a costa de "romper" modelo y bbdd, no lo comparto, la sugerencia de doctrine para estos casos es que crees un método, algo asi:

Código PHP:
Ver original
  1. public function getParentId()
  2. {
  3.     return null === $this->parent ?: $this->parent->getId();
  4. }

Con respecto a tu registro yo pensé que se trataba del patrón Registry, al parecer no es el caso, de todas formas no deberías complicarte mucho, guarda el em en un lugar al cual puedas acceder fácilmente.

Cita:
Quieres decir que en vez de tener 2 o 3 clases por cada entidad de mi proyecto, mejor hacer la logica de negocio, osea el modelo, los metodos que necesito para funcionar, en las entidades propias de doctrine ? para simplificar todo un poco ?
Lo ideal es tenerlo separados, algo asi:

Código PHP:
Ver original
  1. Document
  2.    Post
  3. Entity
  4.    Post
  5. Model
  6.    PostInterface
  7.    Post

como estas empezando te sugiero que modelo = entity(la mayor parte del material que encuentras lo utiliza de esta forma, por simplicidad), algo asi:

Código PHP:
Ver original
  1. Entity
  2.    Post

luego cuando domines d2 ves si quieres/necesitas tal separación.

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)