Как реализовать CRUD со многими: многие отношения

im new для atk4, но я не мог найти простых примеров использования CRUD со многими: многими отношениями между таблицами.

Я прочитал в некоторых инструкциях, что M: M лучше всего реализуется с промежуточной таблицей, которая кажется логичной.

Например

Model ONE has: $this->hasMany('Table1Table2','table1_id'); Model TWO has: $this->hasMany('Table1Table2','table2_id'); And Intermediate Model (Table1Table2) has: $this->hasOne('Table1'); $this->hasOne('Table2'); 

Wich генерирует эту таблицу, которая в порядке:

 create table table1table2 ( id int auto_increment not null primary key, table1_id varchar(255), table2_id varchar(255)); 

Но как реализовать CRUD? – как реализовать списки, добавлять новые, редактировать и т. д.

Когда на странице я просто вставлю вот так:

 $this->add('CRUD')->setModel('Table1'); 

Отношения не созданы … Было бы неплохо, если бы пользователь мог выбрать (добавить и изменить таблицу1) значения из таблицы2.

Из учебников по чтению и wathing у меня есть идея, но, возможно, полная переутомления, поэтому я действительно спрашиваю, что лучше всего подходит для ATK4 для этой проблемы?

Моя идея:

  • добавьте несколько выпадающих списков, чтобы изменить и добавить форму и заполнить ее значениями table2. Если в редактировании, проверьте в промежуточной таблице то, что уже проверено.
  • расширить базовый CRUD, на formSubmitSuccess вставить выбранные значения из раскрывающегося списка в промежуточную таблицу
  • делайте это по-другому для редактирования / добавления нового ..
  • позже, сделайте аналогичную проверку для GRID и других вещей … может генерировать много дополнительной работы ..

Итак, я вижу, что это выполнимо, но я очень осторожно отношусь к отношениям M: M (это в основном два 1: M), так что, может быть, есть гораздо лучшее решение?

Заранее спасибо.