Maybe remove the Event.userId property. You don't need it, try to think in objects, not in identifiers / ids.
Cheers On Oct 14, 2014 5:15 PM, "Giulio Provasi" <[email protected]> wrote: > Hello, I have the following: > > *USER* > > <?php namespace Application\Model; > > use Doctrine\Common\Collections; > use Doctrine\ORM\Mapping as ORM; > > /** > * User model > * Read-only entity > * @ORM\Table(name="VLOGGER_WEBCALENDAR_USR") > * @ORM\Entity(readOnly=true) > * @package Application\Model > */ > class User > { > /** > * @var int > * @ORM\Id > * @ORM\Column(name="USR_ID", type="integer") > */ > protected $id; > > /** > * @var string > * @ORM\Column(name="USR_LOGIN", type="string") > */ > protected $login; > > /** > * @var string > * @ORM\Column(name="USR_CODE", type="string") > */ > protected $code; > > /** > * @var int > * @ORM\Column(name="GRP_ID", type="integer") > */ > protected $groupId; > > /** > * @var string > * @ORM\Column(name="GRP_CODE", type="string") > */ > protected $groupCode; > > /** > * @var User\Group > * > @ORM\ManyToOne(targetEntity="Application\Model\User\Group",fetch="EAGER") > * @ORM\JoinColumn(name="GRP_CODE", referencedColumnName="GRP_CODE") > */ > protected $group; > > /** > * @var Collections\ArrayCollection > * @ORM\OneToMany(targetEntity="Application\Model\Event", mappedBy="user") > * @ORM\JoinColumn(name="USR_ID", referencedColumnName="USR_ID") > */ > protected $events; > > /** > * Constructor > */ > public function __construct() > { > $this->events = new Collections\ArrayCollection(); > } > // accessors > } > > *EVENT* > > <?php namespace Application\Model; > > use Doctrine\ORM\Mapping as ORM; > > /** > * Calendar event model > * This model is readonly > * @ORM\Table(name="VLOGGER_WEBCALENDAR") > * @ORM\Entity(readOnly=true) > * @package Application\Model > */ > class Event > { > > /** > * @ORM\Id > * @ORM\Column(name="LOG_ID", type="integer") > */ > protected $id; > > /** @ORM\Column(name="USR_ID", type="integer") */ > protected $userId; > > /** @ORM\Column(name="DAY_TYPE", type="string") */ > protected $type; > > /** @ORM\Column(name="FORMATTED_DAY", type="date") */ > protected $date; > > /** @ORM\Column(name="DAY", type="string") */ > protected $litteralDate; > > /** @ORM\Column(name="PI", type="boolean") */ > protected $piquet; > > /** @ORM\Column(name="QUAND", type="string") */ > protected $when; > > /** @ORM\Column(name="DAY_DES", type="string") */ > protected $description; > > /** > * @var User the user this events belongs > * @ORM\ManyToOne(targetEntity="Application\Model\User", > inversedBy="events") > * @ORM\JoinColumn(name="USR_ID", referencedColumnName="USR_ID") > */ > protected $user; > > /** > * @var Event\Writer Event data writer > * @ORM\ManyToOne(targetEntity="Application\Model\Event\Writer", > inversedBy="event") > * @ORM\JoinColumn(name="LOG_ID", referencedColumnName="LOG_ID") > */ > protected $writer; > > // accessors > } > > > > And the following db: > > vlogger_calendar (the EVENT): > PI > QUAND > LOG_ID > USR_ID > USR_LOGIN > USR_CODE > YYWW > YYMM > YYYY > TDAYS_COUNTER > TVAC_COUNTER > DAY_TYPE > DD > DAY > FORMATTED_DAY > DAY_DES > GRP_ID > GRP_CODE > > and the user view: > USR_ID > USR_LOGIN > USR_CODE > GRP_ID > GRP_CODE > > The one to many relationship USER > EVENTS works great, but the EVENT > > USER don't work (the object stay null) > > *Works:* > $usr = $em->find('Application\Model\User', 5); > var_dump($usr->getEvents()->toArray()); > > > *Don't works:* > $evt = $em->find('Application\Model\Event', 4962); > var_dump($evt->getUser()); > > > > Any idea ? > > -- > You received this message because you are subscribed to the Google Groups > "doctrine-user" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > Visit this group at http://groups.google.com/group/doctrine-user. > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "doctrine-user" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/doctrine-user. For more options, visit https://groups.google.com/d/optout.
