0

私は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アプリでエラーが発生し、データをデータベースに保存しない理由がわかりません...問題はモデルの「メッセージ」に関連していると思います

4

1 に答える 1

2

$this->Message->create(); の呼び出しがありません。ループで save() を呼び出しているため、保存の前に。http://book.cakephp.org/2.0/en/models/ Saving-your-data.html#model-create-array-data-arrayを参照してください。

また、検証ルールを確認し、Android アプリが失敗した場合、適切な成功またはエラー ステータスを Android アプリに送り返しますか?

最善の方法は、データ処理をモデル メソッドに入れ、そのメソッドの単体テストを行うことです。

于 2013-07-02T12:09:58.447 に答える