我有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)。如何将其保存在用户表中呢?