2013-12-14 50 views
0

在CakePHP的博客教程在添加後add()動作區間CakePHP的博客教程 - 控制器添加()動作

http://book.cakephp.org/2.0/en/tutorials-and-examples/blog/part-two.html

我不明白這個$this->Post->create();做什麼,我試圖刪除了這一行的代碼,它仍然工作得很好。那行代碼是做什麼的?

public function add() { 
    if ($this->request->is('post')) { 
     $this->Post->create(); 
     if ($this->Post->save($this->request->data)) { 
      $this->Session->setFlash(__('Your post has been saved.')); 
      return $this->redirect(array('action' => 'index')); 
     } 
     $this->Session->setFlash(__('Unable to add your post.')); 
    } 
} 

回答

0

它創建該模型的新實例,該實例又創建數據庫表中的新記錄。

添加數據時無需調用,但通常建議您這樣做,因爲如果您之前引用了其他任何記錄,則在保存時它將覆蓋該數據。調用create可以確保你有一個新的設置數據。

定期保存數據的過程:

  • 創建
  • 集($ your_data)
  • 保存