使用Cakephp3中的一个表单保存为2个模型

时间:2016-09-20 09:48:22

标签: save

我有2个模型:用户和供应商建模关系:供应商属于用户和用户有很多供应商。

users表包含以下数据: Users table

供应商提供以下数据:Vendors

vendor表有一个外键(user_id),它是users表中的主键 我正在尝试做供应商注册。这样就可以将数据保存在两个表中(先将其保存在供应商表中,然后保存在用户表中)。这是我在VendorsController.php中的代码:

公共功能add()     {

    $vendor = $this->Vendors->Users->newEntity();

    if ($this->request->is('post')) {
        $vendor = $this->Vendors->patchEntity($vendor, $this->request->data , ['associated' => ['Users']]);

        if ($this->Vendors->save($vendor)) {
            $this->Flash->success(__('The vendor has been saved.'));

           // return $this->redirect(['acbbtion' => 'index']);
        } else {
            $this->Flash->error(__('The vendor could not be saved. Please, try again.'));
        }
       return $this->redirect(['controller'=>'listings','action' => 'add']);
    }
    $users = $this->Vendors->Users->find('list', ['limit' => 200]);
    $this -> set(compact('vendors','users'));

    $this->set('_serialize', ['vendor']);

但是,此代码仅保存供应商表中的数据而不保存用户表。而user_id(供应商表中的外键将具有值NULL)。如何将其保存在用户表中呢?

0 个答案:

没有答案