2013-07-02 144 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