数据没有保存到Cakephp中的数据库中

时间:2013-07-02 11:59:55

标签: android cakephp cakephp-2.0 cakephp-2.1

我正在使用Cakephp 2.x ..我正在通过HTTP Post将数据从我的Android应用程序发送到我的Cakephp Web应用程序,然后保存到数据库中..

这是我的代码

     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'];

它成功打印了这个号码...但不知道为什么它在我的Android应用程序上抛出错误并且没有将数据保存到数据库中...我认为问题与模型'消息有关“

1 个答案:

答案 0 :(得分:2)

您缺少拨打$ this-> Message-> create();在保存之前因为你在循环中调用save()。见http://book.cakephp.org/2.0/en/models/saving-your-data.html#model-create-array-data-array

同时检查验证规则,如果您的Android应用程序失败,那么,您是否将正确的成功或错误状态发送回Android应用程序?

最好是将数据处理放入模型方法并对该方法进行单元测试。