hasMany只保存一个ID但不保存另一个ID

时间:2013-06-07 07:04:11

标签: php cakephp

我通过与我的模型

的关联设置了一个工作的hasMany
Drug
Record
RecordDrug

'药物'表有两个字段。

id | drug

我的'record_drugs'表有三个字段

id | record_id | drug_id

记录表非常不重要,除了它的'id'字段。

我想做什么;用户将有一个要提交的表单,并且一个字段他将能够输入“药物”,用户使用自动完成功能,将能够提交与“Drug.drug”匹配的确切值。我面临的问题是我希望能够找到药物的相关ID,然后将该ID记录到'record_drugs''drug_id'字段中。

现在一切正常,正确的'record_id'是与它关联的'Record.id'值存储的商店,除了药物表之外,我希望发生同样的事情。

    $this->loadModel('RecordDrug');
    $this->loadModel('Drug');
    if ($this->request->is('post')) {
        $this->Record->create();
        $this->request->data['Record']['user_id'] = $this->Auth->user('id');
        if ($this->RecordDrug->saveAssociated($this->request->data, array('deep' => TRUE))) {
            $this->Session->setFlash('Your post has been saved.');
            $this->redirect(array('action' => 'index'));
        } else {
            $this->Session->setFlash('Unable to add your post.');
        }
    }

我知道一个可能的解决方案是提交“药物”值,然后运行查询以获取与之关联的ID,但这似乎是一个廉价的解决方案,我宁愿弄清楚如何获得id是正确的方式

0 个答案:

没有答案