在我现有的模型中,我有两个实体:Student
和StudentOrdersHistory
。我们使用历史记录表来记录学生的所有订单。Doctrine 2 - 引用特定的关联收集项目
但是,我们特别需要使用最新的订单历史。起初,我用像下面这样的一些循环引用:
StudentOrderHistory.student_id --> Student
Student.latest_order --> StudentOrderHistory
这样做的原因是,我们预期的关系,有数百行(学生在这里只是为了简单的问我需要一个例子),但由于我们大部分都需要与最后一个一起工作,我们认为它是毫无意义的加载所有这些,然后做一些$student->orders->last()
,因为它必须加载所有记录。
不用说,这个实现在删除Student
时带来了一种痛苦,因为循环引用不会让我在不必删除Student.latest_order
引用的情况下执行此操作。
是否有无论如何我可以加载到一个Student
财产(如Student::$latestOrder
)只有最新的一个使用DQL吗?