我有两个实体:Workorder 和 Photo。Photo 在每一行中存储一个图像 BLOB。我需要能够获取工作订单中的最新照片,而无需为每个工作订单结果手动设置它。我最初在 Workorder 到 Photo 字段中设置了 OneToOne 关系,后来我使用带有“WITH”子句的 QueryBuilder 来获取最新照片。这对于那个用例来说效果很好,但是似乎如果我选择一张照片并让工作订单加入(照片有一个带有工作订单的多对一),那么工作订单会继续并抓住每张相关的照片。考虑到照片存储了一个 BLOB,这很快就变得昂贵了。
我真的只需要为一个特定的用例加入最新的照片,但它需要成为 Workorder 对象的一部分。我认为 Native Queries 在这里可以帮助我,因为我认为我可以将连接的对象映射到 Workorder 字段中,但我似乎无法完成这项工作,或者在这个特定问题上找到任何资源。
我有一个$latest_photo
在 Workorder 中调用的字段,但我没有它的映射。我想我可以将加入的照片对象映射到这个字段中。这是可能的,还是我读错了?
$rsm->addEntityResult('WorkOrder', 't0');
$rsm->addJoinedEntityResult('Photo', 't1', 't0', 'latest_photo');
这是我尝试过的,但我只是收到一个 Hydrate 错误,说“索引 latest_photo 不存在”。