我正在使用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应用程序上抛出错误并且没有将数据保存到数据库中...我认为问题与模型'消息有关“
答案 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应用程序?
最好是将数据处理放入模型方法并对该方法进行单元测试。