User:
/** @Entity @Table(name="users") */ class User { /** * @Id @GeneratedValue @Column(type="integer") * @var integer */ protected $id; /** * @Column(type="string", length=20, unique=TRUE) * @var string */ protected $login; /** * @OneToMany(targetEntity="News", mappedBy="author") */ protected $news; public function __construct() { $this->news = new \Doctrine\Common\Collections\ArrayCollection; } }
i News:
/** @Entity @Table(name="news") */ class News { /** * @Id @GeneratedValue @Column(type="integer") * @var integer */ protected $id; /** * @Column(type="string", length=100) * @var string */ protected $title; /** * @Column(type="text") * @var string */ protected $content; /** * @ManyToOne(targetEntity="User", inversedBy="news") * @JoinColumn(referencedColumnName="id") */ protected $author; }
Czy po wykonaniu poniższego kodu
$q = $this->db->createQuery('SELECT u FROM User u WHERE u.id = '.$id); $user = $q->getSingleResult();
Doctrine ściągnie wszystkie aktualności (stworzone przez konkretnego użytkownika) z bazy danych?