gpt4 book ai didi

database - TYPO3 Extbase 中的内部连接

转载 作者:搜寻专家 更新时间:2023-10-30 20:18:49 28 4
gpt4 key购买 nike

我有两个表 TableATableB。这些必须在 TableA.Pid = TableB.Uid 条件下连接在一起。

表的域对象是在使用扩展构建器构建扩展时创建的。

我如何在 TYPO3 中实现这一点?

最佳答案

简短回答:对于字段 pid,您不能突然这样做。 pidpages 表的保留标识符,不能随意使用。此外,在 MVC 方案中,INNER JOIN 连接的概念并不是这样实现的。不幸的是,恕我直言。在过去很容易乱来;)。

这里有一个更通用的方法,适合那些刚接触这个的人:
假设您的表 A 名为parent,表 B 名为child

  • 您可以在域模型对话中的扩展构建器中设置关系。创建两个域模型:ParentChild
  • 通过在 Child 域中创建关系 parentrecord 来连接它们链接到模型Parent 的模型。
  • 确保将两者都创建为聚合根

enter image description here

parentrecord 关系将在您的模型 my_ext/Classes/Domain/Model/Child.php 中定义。
@var 注释将其链接到 域模型:

/**
* parentrecord
*
* @var \TYPO3\MyExt\Domain\Model\Parent
*/
protected $parentrecord;

然后可以像这样从您的 Controller 中检索父记录(例如,parent uid = 42)的所有子记录:

$this->childRepository->findByParentrecord(42);

这是一个简短的回答。请注意,您的自定义 Extbase 代码可能无法开箱即用,但不要沮丧 - 它最终会起作用。至于pid的事情,我会尽力帮助你解决你的相关问题other question .

关于database - TYPO3 Extbase 中的内部连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17290458/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com