Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- namespace Entity;
- /**
- * @Entity
- * @Table(name="user")
- */
- class User
- {
- /**
- * @Id
- * @Column(name="id", type="integer")
- * @GeneratedValue(strategy="AUTO")
- */
- protected $id;
- /**
- * @Column(name="name", type="string")
- */
- public $name;
- /**
- * @OneToMany(targetEntity="Entity\Address", mappedBy="User", cascade={"persist", "remove"})
- */
- protected $Addresses;
- public function __construct()
- {
- $this->Addresses = new \Doctrine\Common\Collections\ArrayCollection();
- }
- public function getId() { return $this->id; }
- public function getAddresses() { return $this->Addresses; }
- public function setAddresses(ArrayCollection $value) { $this->Addresses = $value; }
- }
- /**
- * @Entity
- * @Table(name="address")
- */
- class Address
- {
- /**
- * @Id
- * @Column(name="id", type="integer")
- * @GeneratedValue(strategy="AUTO")
- */
- protected $id;
- /**
- * @Column(name="addresse", type="string")
- */
- public $address;
- /**
- * @ManyToOne(targetEntity="Entity\User")
- * @JoinColumn(name="userId", referencedColumnName="id")
- */
- protected $User;
- public function getId() { return $this->id; }
- public function setUser(User $user) { $this->User = $user; }
- public function getUser() { return $this->User; }
- }
- ## Test code
- $em = EntityManager::create($connectionOptions, $config);
- $id = 32; // User 32 exists and has addresses (previous run of this script!)
- /*
- $user = new \Entity\User;
- $user->name = 'Bob';
- $em->persist($user);
- $em->flush();
- $address = new \Entity\Address;
- $address->address = 'Streetname....';
- $address->setUser($user);
- $em->persist($address);
- $em->flush();
- $user->getAddresses()->add($address);
- $em->flush();
- $id = $user->getId()
- */
- $u = $em->find('Entity\User', $id);
- $addresses = $u->getAddresses();
- @@foreach ($addresses as $a) { } // This line breaks!
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement