CakePHP3 Отношения ко многим ко многим

Я пытаюсь сохранить форму, которая имеет отношение ко многим в CakePHP3, но я не могу правильно отрисовать форму. (пользовательские теги HABTM)

В моем контроллере я установил объект, который я хочу редактировать:

$user = $this->Users->get($id, [
'contain' => ['Tags']
]);
$this->set(compact('user'));

По мнению у меня есть:

$options = [
'1' => 'Tag 1',
'2' => 'Tag 2'
];
echo $this->Form->select('tags', $options, [
'multiple' => 'checkbox'
]);

У меня проблема с нагрузкой, выбранные теги не проверяются, как я могу решить эту проблему?

0

Решение

Для такого belongsToMany ассоциация вы должны использовать _ids введите имя поля, чтобы помощник формы мог волшебным образом подобрать значения и поставить галочки.

$this->Form->select('tags._ids',  /* ... */);

Увидеть

для некоторой информации.

Также вам следует извлечь список тегов из таблицы, а не определять их вручную в представлении.

контроллер

// ...
$tags = $this->Users->Tags->find('list');
$this->set(compact('user', 'tags'));

Посмотреть

echo $this->Form->select('tags._ids', $tags, [
'multiple' => 'checkbox'
]);

Смотрите также Кулинарная книга> Поиск пары ключ / значение

2

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

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

По вопросам рекламы [email protected]