Doctrine orm 如何仅检索Doctrine2实体的一行?

Doctrine orm 如何仅检索Doctrine2实体的一行?,doctrine-orm,silex,Doctrine Orm,Silex,我正在与实体价格和产品合作。每个产品都有几个价格。使用getterProduct->getPrices我可以检索所有价格。每个Price都有一个字段insertedAt,用于存储DateTime对象 我的问题 我只想为产品检索最新的价格,但我不知道怎么做 解决方案(由Maerlyn提供) (更新)我的下一个问题 我不仅使用then insertedAt字段,还使用条件和源字段。因此,我需要检索每个条件和来源的当前价格。您也有解决该问题的方法吗?您可以使用OrderBy注释定义相关实体返回的顺序

我正在与实体
价格
产品
合作。每个
产品
都有几个
价格
。使用getter
Product->getPrices
我可以检索所有
价格。每个
Price
都有一个字段
insertedAt
,用于存储
DateTime
对象

我的问题 我只想为
产品
检索最新的
价格
,但我不知道怎么做

解决方案(由Maerlyn提供)

(更新)我的下一个问题
我不仅使用then insertedAt字段,还使用条件和源字段。因此,我需要检索每个条件和来源的当前价格。您也有解决该问题的方法吗?

您可以使用
OrderBy
注释定义相关实体返回的顺序;像这样使用它:

/**
 * @ORM\OneToMany(targetEntity="Price")
 * @ORM\OrderBy({"insertedAt" = "DESC"})
 */
private $prices;
然后添加检索当前价格的方法:

public function getCurrentPrice()
{
    return $this->prices->first();
}

我找到了
@Version
注释,但是我不知道我是否可以用它来满足我的需要。谢谢你快速而正确的回答。我的下一个问题是:我不仅使用了
insertedAt
-字段,还使用了
条件
-字段。因此,我需要检索每个条件和来源的当前价格。你也有解决这个问题的办法吗?谢谢