在 Cakephp 中添加用户

Posted

技术标签:

【中文标题】在 Cakephp 中添加用户【英文标题】:Add a user in Cakephp 【发布时间】:2015-08-13 10:48:59 【问题描述】:

当我为UsersController 编写add() 函数时出现问题。

public function add() 
  if ($this->request->is('post')) 
    $this->request->data['User']['book_id'] = $this->Book('id'); 
    if ($this->User->saveAssociated($this->request->data))
      $this->request->data['User']['book_id'] = "ff";
      $this->Session->setFlash(__('Save User'));
      return $this->redirect(array('action' => 'index'));
    
    $this->Session->setFlash(__('User Error.')); 
  

如果我添加 User,我想将图书 ID 保存在我的 User book_id 中。 有谁知道如何处理这个问题?谢谢!

【问题讨论】:

【参考方案1】:

当您添加新用户时,他是否可以从下拉列表中(在表单中)选择一本书?如果是这样,$this->request->data['User']['book_id'] 将已经包含 Book id。

没有必要像你一样明确写$this->request->data['User']['book_id'] = $this->Book('id');

在我看来,add.ctp 视图文件应该包含一个选择框,其中包含用户可以选择的所有书籍的列表。在选择其中一个并提交表单时,$this->request->data['User']['book_id'] 将自动存储 book_id,而无需在控制器中编写任何内容。

请指定 add.ctp 表单字段,以便我更好地为您提供帮助。

谢谢!

【讨论】:

以上是关于在 Cakephp 中添加用户的主要内容,如果未能解决你的问题,请参考以下文章

cakephp 3.0 注册与现有用户问题关联的帐户

Cakephp 从另一个视图中检索 id

CakePHP hasOne belongsTo 关系,编辑/添加相同动作

cakephp:从下拉列表中为报告添加过滤器

Cakephp 多个输入字段

Cakephp Auth 与多个“用户”表