我正在尝试使用连接表来修补实体,但我无法让它保存关联的记录,而且我认为我的后端代码是正确的,但我不确定前端代码应该是什么样子......
这是场景,我有三个表
分类帐表
id int
title string
部落表
id int
name string
分类帐部落表
id int
ledger_id int
tribe_id int
这是我的后端代码
public function ledgerSave($id = null)
{
$this->loadModel('Ledgers');
$ledger = $this->Ledgers->get($id, [
'contain' => ['LedgersTribes']
]);
if ($this->request->is(['patch', 'post', 'put'])) {
$ledger = $this->Ledgers->patchEntity($ledger, $this->request->getData(), [
'associated' => ['LedgersTribes']
]);
if ($this->Ledgers->save($ledger)) {
$this->Flash->success(__('The ledger has been saved.'));
return $this->redirect($this->referer());
}
$this->Flash->error(__('The ledger could not be saved. Please, try again.'));
}
$this->set(compact('ledger'));
}
这是相关的前端代码
<?= $this->Form->control('tribe_id[]', ['type' => 'checkbox', 'label' => false, 'class' => 'minimal', 'value' => $tribe->id]) ?>
我的问题是,tribe_id 的字段名称应该是什么,我的想法是,我有一个复选框列表,用户检查了几个框,然后将那些tribe_id 插入到带有 ledger_id 的 LedgersTribes 表中
关于如何做到这一点的任何想法?
编辑:这是表格的截图
我已经查看了以下链接,但没有一个回答我的问题......