Buenas,
Estoy usando Doctrine 2 + Laravel para un proyecto (se que si uso Laravel debería de tirar de Eloquent, pero tengo mis razones para usar Doctrine) y estoy con el diseño de las entidades.
Tengo la entidad Users, y una asociación OneToMany con la entidad UsersLogins:
/**
* @OneToMany(targetEntity="UsersLogins", mappedBy="user", cascade={"remove"})
* @JoinColumn(name="logins", referencedColumnName="id")
**/
protected $logins;
Bien, la relación funciona correctamente y tal, pero para poder trabajar con varios resultados, tengo que hacer una iteración a $user->getField('logins')
(getField es un Getter que he hecho). No sé si esta es la mejor forma de hacerlo, se que está ArrayCollection(); pero solo lo puedo iniciar en el __construct();
, que solo se ejecuta al iniciar la class de la entidad, pero al buscar usando el facade Doctrine::find('Users, $id);
por ejemplo, el __construct no se me inicializa.
Como lo tengo ahora funciona, la duda era simplemente si era posible hacerlo de otro modo, más que nada por que para acceder a las variables dentro de, por ejemplo, un foreach();
tengo que guardar las propiedades en la entidad como public, a diferencia del resto que están protected.
Puede que este thread sea una tontería y una liada de cabeza, pero llevo ya varios días a piñón con esto, y hay cosas de las que no me empano.