0

我有一段使用 cakephp 编写的代码,如下所示,

if($this->Session->read($this->_username)){
       if(!empty($this->data)){       
          $data = array(                
                    'fullname' => $this->data['Table']['fullname'],                 
                    'lastname' => $this->data['Table']['lastname'],
                    'title' => $this->data['Table']['title'],                       
                    'language' => $this->data['Table']['language']                              
                );

                if ($this->Table->save($data)) {                            
                    $this->redirect('okpage');
                }
            }
        }

内置的保存功能会将数据数组保存到数据库表 X 中。现在我想添加另一个元素employeeid,它要保存到表 Y 中,例如。所以上面的代码就变成了

if($this->Session->read($this->_username)){
       if(!empty($this->data)){          
          $data = array(               
                    'fullname' => $this->data['Model']['fullname'],                    
                    'lastname' => $this->data['Model']['lastname'],
                    'title' => $this->data['Model']['title'],                      
                    'employeeid' => $this->data['Model']['employeeid'],
                    'language' => $this->data['Model']['language']                             
                );

                if ($this->Model->save($data)) {                          
                    $this->redirect('okpage');
                }
            }
        }

我很困惑我应该在 if 语句的表达式中更改什么以保存数据?因为保存数据数组的原始代码用于将数据保存到表 X 中,所以现在我的插入搞砸了,这也搞砸了我的想法。

4

1 回答 1

0

如果您在 X 和 Y 表之间建立关系,CakePHP 可以帮助您自动执行此类操作。

您的问题中没有足够的信息来猜测这种关系应该是什么,但是您可以让 X 属于 Y,或者 Y 有很多 X,或者......

阅读 CakePHP 书籍中的这一部分:http: //book.cakephp.org/1.3/en/view/1039/Associations-Linking-Models-Together以获得介绍。

于 2012-05-21T02:49:22.450 回答