0

我通过与我的模型关联建立了一个工作 hasMany

Drug
Record
RecordDrug

'drugs' 表有两个字段。

id | drug

我的“record_drugs”表有三个字段

id | record_id | drug_id

除了“id”字段外,记录表并不重要。

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

现在一切正常,正确的“record_id”正在与其关联的“Record.id”值一起存储,我希望除了 Drug 表之外也发生完全相同的事情。

    $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方法

4

0 回答 0