我有一个父对象是什么帐户。此帐户对象与其子对象具有一对多关系,即mailList。
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;
}
向父项添加多个子项可以正常工作。我仔细检查了数据库。让第一个孩子回来也可以:
$child = $account->getMailinglist()->first();
现在我想通过电子邮件adres找到一个孩子。我找不到正确的代码吗?
答案 0 :(得分:0)
您可以过滤集合以找到所需内容:
$allChildrenWithSearchedEmail = $account->getMailinglist()->filter(function($child) {
return ($child->getEmail() == "info@example.com");
});