TYPO3 vers中同一桌子上的双向n:m关系。 4.7.2

时间:2012-07-18 08:15:47

标签: foreign-keys typo3 nm

在我们自己的扩展中,我们有一个与自身有n:m关系的表。

我将做一个比喻性的例子(我们的真实案例与之相似): 我们称这个表为'员工' 现在,员工可以与其他员工联系,例如我编辑员工A并将其附加到员工B.当我打开员工B时,我希望看到他有员工A的附件。

我在tca.php中尝试了以下配置:

'linked_with' => array (
  'exclude' => 0,
  'label' => 'LLL:EXT:my_ext/locallang_db.xml:my_table.linked_with',
  'config' => array(
    'type' => 'group',
    'internal_type' => 'db',
    'allowed' => 'my_table',
    'size' => 6,
     'MM' => 'my_table_linked_mm',
     'MM_opposite_field' => 'my_table'
  )
)

然而,当我这样做时,它只保存一个方向的关系,即我在员工A中看到它与员工B有关系。但是当我打开员工BI时,看不到与员工A有任何关系

在数据库中,一个条目保存为:

  • uid_local:###员工A的UID ###
  • uid_foreign:###员工B的UID ###
  • 排序:0
  • sorting_foreign:1

我做错了什么? 我在谷歌/互联网上找不到类似的案例 - 我发现只有两个不同的表格。

2 个答案:

答案 0 :(得分:0)

好吧,考虑两个表的情况。

A - MM - B

在这种情况下,您需要一个表A的TCA字段,通过MM表链接到B(uid_local作为本地uid)和表B通过MM表链接到A的TCA字段(使用uid_foreign作为当地的uid)

在这种情况下,你需要相同的东西,即具有镜像配置的linked_from和links_to字段或类似字段。

答案 1 :(得分:0)

对其他搜索者的简短反馈:
不幸的是,迄今为止TYPO3(例4.7.4)不支持此功能 要实现此功能,您必须编写userFunction。