如何在我获取父对象时获取对象的数据(例如进程有动作,我正在获取进程)DOCTRINE

How to fetch data of an object when im getting the parent object (ex. process have actions, im fetching process) DOCTRINE

假设我有一个名为 class 的进程,它有名称、数据等。然后,这个进程 class 有一个名为 actions 的子class 具有:[姓名、年份、数据]。因此,当我想获取所有流程时,我只想获取将年份设置为 2020 年的操作,而不是获取所有年份的所有操作。

教义上有没有办法做到这一点?

类似 SELECT 的流程 PROCESS.ACTIONS.YEAR 类似 2020(但在教义上)

抱歉不好解释,希望您能理解。

ps。我正在尝试在一个 twig 文件中打印所有进程,但我只想要最新的操作。

非常感谢

IF 你已经正确定义了关系,你可以这样做:

SELECT process 
FROM App\Entity\Process process 
LEFT JOIN process.actions action 
WHERE action.year = 2020

或在流程存储库中

return $this->createQueryBuilder('process')
    ->leftJoin('process.actions', 'action')
    ->where('action.year = 2020')
    ->getQuery()
    ->getResult();

但不确定您是否得到重复项。在 DQL-Query 中,您可能只说 SELECT DISTINCT process 等。而且我猜想在查询构建器变体中,您可能必须在 getQuery.[= 之前​​添加 ->select('DISTINCT process') 15=]