私たち自身の拡張では、それ自体に対して 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 つの異なるテーブルだけでした。