修改预定义的程序结构

时间:2012-05-21 02:34:47

标签: php mysql cakephp

我有一段使用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中。 现在我想添加另一个要保存到表Y中的元素employeeid。 所以上面的代码变成

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中,现在我的插入会使其混乱,这也让我头疼。

1 个答案:

答案 0 :(得分:0)

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

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

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