Cakephp 2.x — контейнер, отказывающийся работать

У меня есть следующая структура модели:

Модели:

  • открытие
  • заявка
  • заявитель
  • группа

Первые три были созданы при первоначальной настройке приложения, после чего группы добавлялись через скрипт bake.

Модельные ассоциации:

  • Заявитель имеет много приложений
  • Приложение имеет много заявителей
  • Приложение принадлежит открытию
  • Открытие имеет много приложений
  • Открытие принадлежит Группе
  • Открытие группы имеет много открытий (добавлено после запуска скрипта)

Я пытаюсь получить данные в модели приложения, но у меня возникли некоторые проблемы. Я не могу добраться до стола группы. Мне постоянно говорят, что колонки, которую я ищу, не существует. Мой запрос:

$options = array(
'fields' => array(
'Application.applicant_id',
'Application.opening_id',
'Application.value_1',
'Application.date',
'Applicant.first_names',
'Applicant.surname',
'Applicant.gender',
'Applicant.id_number',
'Opening.title',
'Group.group_xs',
'Group.group_name'
),
'recursive' => -1,
'contain' => array(
'Applicant',
'Opening.Group',
),
'conditions' => array(
'Applicant.id' => $applicant_id,
'Opening.id' => $opening_id
)
);
$result = $this->find('all', $options);

Сообщение об ошибке:

Column not found: 1054 Unknown column 'Group.group_xs' in 'field list'

Я перепробовал так много разных вариантов, это даже не смешно. Я пробовал как с, так и без ‘recursive’, с ‘recursive’ => -1, 0 и 1. Я также попробовал нижеприведенные варианты ключа ‘содержать’, среди многих других.

    'contain' => array(
'Applicant',
'Opening' =>array('Group')
),

'contain' => array(
'Applicant',
'Opening',
'Group'
),

'contain' => array(
'Group'
),

Я загружаю поведение Containable вверху моей модели приложения следующим образом:

public $actsAs = array('Containable' => array('recursive' => true,'autofields' => true));

Может кто-нибудь, пожалуйста, помогите. Что здесь происходит?

0

Решение

Я думаю, что содержимое может работать только на «has» -отношениях, а не на «ownTo» -отношениях.

Попробуйте использовать объединяющиеся таблицы https://book.cakephp.org/2.0/en/models/associations-linking-models-together.html#joining-tables

0

Другие решения

Других решений пока нет …