gpt4 book ai didi

mysql - 通过链式 ManyToOne 关系查找对象

转载 作者:行者123 更新时间:2023-11-29 10:49:41 25 4
gpt4 key购买 nike

我试图弄清楚如何根据分层关系查找一组对象。我有 3 个这样的实体:

转介 --> ManyToOne --> 患者 --> ManyToOne --> 付款人

如何找到给定付款人的所有推荐?

我正在将 symfony3 与 mysql 和原则一起使用。我的实体:

class Referral
{
// usual stuff

/**
* @ORM\ManyToOne(targetEntity="Patient")
*/
private $patient;
}

class Patient
{
// usual stuff

/**
* @ORM\ManyToOne(targetEntity="Payor")
*/
private $payor;
}

class Payor
{
// usual stuff
}

显然,我可以使关系成为双向关系,例如,这样我就可以在 Controller 中执行类似的操作:

$patients = $payor->getPatients();
foreach ($patients as $patient) {
$referrals = $patient->getReferrals();
}

然后将它们收集到适当的数组中,但这看起来很困惑,我宁愿在我的存储库中的单个数据库查询中完成这一切。可以吗?

最佳答案

您可以使用查询查找给定付款人的所有推荐。

在 ReferralRepository

public function findReferralsByPayor(Payor $payor)
{
$qb = $this->createQueryBuilder('r');

$qb
->join('BUNDLENAME:Patient', 'p', 'WITH', 'p.id = r.patient')
->where('p.payor = :payor')->setParameter('payor', $payor)
;

return $qb->getQuery()->getResult();
}

关于mysql - 通过链式 ManyToOne 关系查找对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43958796/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com