0

私たち自身の拡張では、それ自体に対して n:m の関係を持つべきテーブルがあります。

比喩的な例を示します (実際のケースはそれに似ています): テーブルを 'employee' と呼びましょう。
これで、従業員を他の従業員に関連付けることができます。たとえば、従業員 A を編集して従業員 B に関連付けます。従業員 BI を開くと、彼が従業員 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 との関係は表示されません。

データベースでは、1 つのエントリが次のように保存されました。

  • uid_local: ###従業員 A### の UID
  • uid_foreign: ###従業員 B### の UID
  • 並べ替え: 0
  • sorting_foreign: 1

私は何を間違っていますか?Google/Internet で同様のケースを見つけることができませんでした。見つかったのは 2 つの異なるテーブルだけでした。

4

2 に答える 2

0

他の検索者への短いフィードバック:
残念ながら、これまでのところ、TYPO3(バージョン4.7.4)はこの機能をサポートしていません。
この機能を実装するには、userFunctionを作成する必要があります。

于 2012-09-22T19:36:35.400 に答える
0

さて、2 つのテーブルの場合を考えてみましょう。

A - MM - B

この場合、MM テーブル (ローカル uid として uid_local を使用) を介して B にリンクするテーブル A 用の TCA フィールドと、MM テーブル (ローカル uid として uid_foreign を使用) を介して A にリンクするテーブル B 用の TCA フィールドが必要です。 )

この場合、ミラー構成を使用して、linked_from および links_to フィールドなどと同じものが必要です。

于 2012-07-18T13:29:33.047 に答える