2013-07-02 146 views
0

我正在Cakephp 2.x ..我從我的Android應用程序通過HTTP POST發送數據到我的Cakephp網絡應用程序,然後保存到數據庫..數據沒有保存到數據庫Cakephp

這裏是我的代碼

 public function message(){ 
     $this->loadModel('Message'); 

    if ($this->request->isPost()){ 

     $json = $this->request->data('json'); 

     $data = json_decode($json, TRUE);  

     foreach($data as $datas){ 

      $mobileNo = $datas['mobileNo']; 
      $body = $datas['body']; 

      $type = $datas['type']; 
      $userId = $datas['idUser']; 

      $this->request->data['Message']['mobileNo'] = $mobileNo; 
      $this->request->data['Message']['body'] = $body; 
      $this->request->data['Message']['type'] = $type; 
      $this->request->data['Message']['User_id'] = $userId; 
      $this->request->data['Message']['dateTime'] = null; 
      $this->Message->save($this->request->data); 
     } 
    } 
} 

我正在成功地獲取數據,因爲當我打印出來的數據

 $mobileNo = $datas['mobileNo']; 

它成功打印的數量...但不知道爲什麼它扔我呃rors在我的android應用程序,並沒有將數據保存到數據庫中...我認爲這個問題是相關的模型'消息'

回答

2

你缺少調用$ this-> Message-> create();在保存之前,因爲你在循環中調用save()。請參閱http://book.cakephp.org/2.0/en/models/saving-your-data.html#model-create-array-data-array

還要檢查您的驗證規則,如果您的Android應用程序失敗,那麼您是否將正確的成功或錯誤狀態發回給了Android應用程序?

最好的方法是將數據處理放入模型方法和單元測試中。

+0

謝謝你......我在這裏呆了差不多一個小時...... – hellosheikh