Как с помощью hook_views_data подключить несколько таблиц к базовой таблице?

Главные вкладки

Аватар пользователя strelkov.av strelkov.av 30 января 2020 в 18:16

Добрый день, с помощью модуля Views и hook_views_data отображаю на сайте информацию из сторонних таблиц в базе данных, а именно есть следующий перечень таблиц:

table_one
id
value_table_one

table_two
id
table_one_id
value_table_two

table_three
id
table_one_id
value_table_three

table_four
id
table_one_id
value_table_four

table_five
id
table_two_id
value_table_five

Т.е. как можно заметить table_two , table_three, table_four по внешнему ключу имеют связь с table_one .
При этом table_five также имеет связь по внешнему ключу с table_two

Я с помощью hook_views_data описал все таблицы, теперь они все известный и доступны для Views, но тут начинается проблема, а именно я хочу показывать информацию начиная с table_one (т.я. я Views создаю выбирая как изначальный источник таблицу table_one) а дальше уже подключая Relationship в интерфейсе Views выводить дополнительные поля из таблиц table_two , table_three, table_four (т.е. 3 relationship подключить)

При этом хочу когда я подключил relationship ко второй таблице, по идеологии должен появится ещё один relationship от таблицы table_five так как мы добрались до таблицы table_two

Читая справку по hook_views_data, там всё описано как создать relationship

<?php
  $data
['table_one']['id'] = array(
    
'title' => t('two -> one'),
    
'help' => t('two -> one'),
    
'relationship' => array(
      
'base' => 'table_two',
      
'base field' => 'table_one_id',
      
'handler' => 'views_handler_relationship',
      
'label' => t('two -> one'),
      
'title' => t('two -> one'),
      
'help' => t('two -> one'),
    ),
  );
?>

И вроде всё хорошо, сделал связь от второй таблицы к первой, и при созданию Views начиная с первой таблицы, в Relationship появится моё отношение вверху созданное, и я смогу информацию показывать из второй таблицы которая имеет отношение к первой таблице...

Но как теперь аналогично во вьювс ещё добавить такие же Relationship от 3ей и 4ой таблицы к первой?