【问题标题】:Doctrine fetch one object directly not in array教义直接获取一个对象而不是数组
【发布时间】:2012-04-14 20:07:41
【问题描述】:

我有以下存储库:

    public function findClassPhotoByPath($path)
{
    return $this->getEntityManager()
        ->createQuery('SELECT p FROM KSRGalleryBundle:Photo p WHERE p.category = :category AND p.path = :path')
        ->setParameters(array('category' => 'class_photo', 'path' => $path))
        ->setMaxResults(1)
        ->getResult();
}

当我现在使用这个存储库方法时,对象位于数组中,我必须通过 $photo[0] 访问它。

是否可以直接通过findOneBy()直接获取是怎么回事?

最好的问候, 博多

【问题讨论】:

    标签: symfony repository doctrine-orm


    【解决方案1】:

    您可以使用getSingleResult()。也可以check here 获取其他选项。

    编辑:

    如果您不想捕获NoResultException,也可以使用getOneOrNullResult() 方法。

    【讨论】:

    • 请注意始终获得一个结果。没有结果会抛出异常。
    • @Cerad,对。使用getOneOrNullResult() 方法可以避免这种情况。
    猜你喜欢
    • 2022-01-24
    • 2018-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-28
    • 1970-01-01
    相关资源
    最近更新 更多