Ich habe ein Elternobjekt, was ein Konto ist. Dieses Kontoobjekt hat eine Eins-zu-viele-Beziehung mit seinem untergeordneten Objekt, was eine Mailliste ist.Wie Kind-Objekt von Eltern mit einer zu viele Beziehung in Symfony2
Parent:
class CusAccount
{
public function __construct()
{
$this->mailList = new ArrayCollection();
}
/**
* @ORM\OneToMany(targetEntity="MailList", mappedBy="account")
*/
private $mailList;
/**
* Get mailList
*
* @return \Doctrine\Common\Collections\Collection
*/
public function getMailList()
{
return $this->mailList;
}
}
Child:
class MailList
{
/**
* @ORM\ManyToOne(targetEntity="CusAccount")
* @ORM\JoinColumn(name="account_id", referencedColumnName="id")
*/
private $account;
/**
* @var string
*
* @ORM\Column(name="email", type="string", length=50)
*
*/
private $email;
}
Hinzufügen mehrerer Childs zum übergeordneten funktioniert gut. Ich überprüfe die Datenbank. das erste Kind auch zurückzubekommen arbeitet mit:
$child = $account->getMailinglist()->first();
Nur jetzt will ich ein Kind durch seine E-Mail-Adresse ein finden. Ich kann den richtigen Code dafür nicht finden?
Dank ist es auch möglich, die komplette Child-Liste nur auf E-Mail bestellt zu bekommen? – Tom
In diesem Fall können Sie alle Einträge als ein Array mit 'getMailinglist() -> getValues ()' und verwenden Sie 'usort()' auf diesem Array. –