Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Orm 类型3 Extbase:findByParent_Orm_Typo3_Extbase - Fatal编程技术网

Orm 类型3 Extbase:findByParent

Orm 类型3 Extbase:findByParent,orm,typo3,extbase,Orm,Typo3,Extbase,我在extbase扩展中有一个名为“article”的聚合根对象,它有多个子对象“product”(1:n)。如何在productRepository中查找DbyArticle(因此在子repo中查找DbyParent)。我无法以正常的方式获取所需父对象的子记录,因为我需要通过ajax调用加载产品项,并需要对请求设置偏移量、限制和不同排序。(如果我只得到文章的子项,这是不可能的) 感谢您的帮助我认为您必须在存储库中实现自己的功能 有关各种可能性的概述,请参见: 如果无法使用正常的findByAr

我在extbase扩展中有一个名为“article”的聚合根对象,它有多个子对象“product”(1:n)。如何在productRepository中查找DbyArticle(因此在子repo中查找DbyParent)。我无法以正常的方式获取所需父对象的子记录,因为我需要通过ajax调用加载产品项,并需要对请求设置偏移量、限制和不同排序。(如果我只得到文章的子项,这是不可能的)


感谢您的帮助

我认为您必须在存储库中实现自己的功能

有关各种可能性的概述,请参见:

如果无法使用正常的
findByArticleId()
则必须在(子)存储库中使用自定义方法:

比如:

public function findByArticleId($acticleId){
    $query = $this->createQuery();
    $query->matching(
        $query->logicalAnd(
            $query->equals('articleId', $acticleId ),
            $query->equals('something', 'else')
        )
    );
    $query->setOffset(10);
    $query->setLimit(20);
    return $query->execute();
}
正如您所见,您可以设置限制和偏移量,或者从存储库中获取所需内容


详细信息可在此处找到:(感谢Max)

如果您有ProductRepository,并且您希望通过除文章对象之外的任何其他对象访问产品,则您的文章不是一篇文章

我建议在Article类中实现此逻辑。它应该包含对包含产品的ObjectStorage对象的引用。应该可以从该存储中获得数量有限的产品。显然,您已经拥有文章ID,因此您可以轻松找到您的文章及其产品。出于性能方面的原因,文章中对其产品的引用应该分别有注释
@lazy
(TYPO3 8.7)<代码>@TYPO3\CMS\Extbase\Annotation\ORM\Lazy(TYPO3 9.5)