У меня есть три модели: users
, groups
а также user_groups
users table: id | alias | password ...
groups table: id | name ...
user_groups table: id | user_id (fk users table) | group_id (fk groups table) ...
В контроллере групп я получаю данные о доступных группах и участниках:
public function edit($id)
{
if (!$id) throw new NotFoundException(__('Unknown Group'));
//All available groups with members
$group = $this->Groups->find('all', [
'contain' => 'Users'
]);
//Only the group + members with the requested id
$member = $this->Groups->get($id, [
'contain' => 'Users'
]);
if (!$group) throw new NotFoundException(__('Group does not exist'));
if ($this->request->is(['post', 'put'])) {
$this->Groups->patchEntity($group, $this->request->data);
if ($this->Groups->save($group)) {
$this->Flash->success(__('Group successfully updated'));
return $this->redirect(['action' => 'index']);
}
$this->Flash->error(__('Failed to update group'));
}
$this->set('group', $group);
$this->set('member', $member);
}
Я пытаюсь построить представление, содержащее два selectboxes
один для пользователей, которые уже являются членами группы, и один для остальных (не членов) пользователей.
Когда дело доходит до сохранения данных в реляционной модели (user_groups
Я совершенно беспомощен.
Нужно ли использовать конкретные имена переменных / имена полей ввода?
Как обслуживать данные, чтобы контроллер знал, где их сохранить?
Заранее спасибо и извините за эти вопросы, я новичок во всей этой вещи.
Задача ещё не решена.
Других решений пока нет …