CakePhp仅在中间表中保存更改

时间:2017-09-01 11:53:17

标签: cakephp cakephp-3.0

以下是我的问题

我有3张桌子m:n

Users -> addresses_users -> Addresses

在添加新用户期间,我从下拉列表中选择X地址,点击保存后我必须保存新用户数据(Users表中的新用户),在addresses_user表和地址表中进行映射不应该更改,因为我已经DB中的那些地址。

所以,如果我使用这样的代码

用ctp输入 名称= “地址[]”

在控制器中

  if ($this->request->is('post')) {
    $user = $this->Users->patchEntity($user, $this->request->
    if ($this->Users->save($user)) {
      $this->Flash->success(__('The user has been saved.'));
      return $this->redirect(['controller' => 'users', 'action' => 'view/' . $user->id]);
    } else {
      $this->Flash->error(__('The user could not be saved. Please, try again.'));
    }
  }

Cakephph自动进行映射,并希望保存新用户,映射和地址信息。

有没有办法自动使用cakephp来保存新用户并进行映射,或者我应该使用另一个输入名称(cakephp不会使用地址修补),并在保存后使用所有addresses_id进行foreach并将值直接保存到addresses_users表

还是有更好的想法?

0 个答案:

没有答案