最終課題の中でゲームスコアのランキングを実装するために、
Unityコース18-3「APIについて⑥」を参考に、Unity内でInputFieldに入力したデータをデータベースに追加しようとしているのですが、データベースに追加されません。
通信はできているのですが、setがうまくいかず。
(Unityコース 18-3「APIについて⑥」動画の26:43でSuccessではなく、Failedとなった場合と同じと考えます)
データベースから情報をGetする方は問題なくできているのですが、どのような問題が考えられるでしょうか?
getRankingは問題なくできるのですが、
InputFieldに名前とスコアを入れてSet Dataボタンを押すことでデータベースに追加しようとすると、Failedが帰ってきてしまいます。
大きな原因としては、コントローラーのリクエストを受け取る文でエラーが起きていたものと考えられます。
名前の取得が「$postName = $this->request->getdata['name'];」となっていましたが、
「 $postName = $this->request->data
['name'];」で取得は行います。
スコアのリクエスト取得部分でも同様のモノがあったので、そちらを直して頂ければと思います。
また、patchEntityを使用したレコード追加では実装ができませんでした。
なので今回はnewEntityのみを使った方法でレコード追加が出来るようになりました。
何故patchEntityを使用した追加ができなかったのでしょうか?
エラーなども出ていなかったと思うのですが、patchEntityがうまくいっていないと気付くにはどうしたらいいのでしょうか?
なぜこのスクリプトでPatchEntityが機能しないか、ですが、
他の例でもnewEntityを使って成功していますので、以下のように理解することが可能かと思います。
■newEntity
→Entityを新規作成するときに使用する。
■patchEntity
→データを更新するときに使用する。
なので、
新規作成する時は、newEntityを使う。今回したかった”ランキング情報の更新”は、
処理的には「更新」ではなく「新規作成」になると考える。