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.

Reply via email to