渡ってきたデータの整形

ガンダムの新しいシリーズ『水星の魔女』というアニメ作品を見終わりました。

放送が終了してから、アマプラで友人と一緒にちまちま見ました。

12話に対する阿鼻叫喚をTwitterでちらっと見ていたので、最終話が近づくにつれ、戦々恐々としておりましたが、見終わると「あぁ、これのことかあ。」となりましたね。びっくりしました。

1クール目はほぼ学校の中で、決闘をしていただけなので、これからガンダム始まります!という感じで終わりました。

2クール目が気になるところです。

今回は業務でデータ整形をしたのでその部分を置いておきたいと思います。

画面から渡ってきたデータだとそのままデータベースに登録できないため、合う形に直しました。

    /**
     * データの整形
     *
     * @param array $Inputs 渡ってくるデータ
     * @param string $reserveId 予約番号
     * @return \App\Model\Entity\Simulation|null
     */
    public function formatDefault($Inputs, $reserveId)
    {
        $fields = [
            'type',
            'type2',
            'plan_data',
            'payments_type',
            'option_id',
            'campaign_id',
        ];

        $data = null;
        if (isset($Inputs['h-request_type'])) {
            $data = ['reserve_id' => $reserveId];
            foreach ($fields as $field) {
                $data[$field] = null;
                if (isset($Inputs['h-' . $field])) {
                    $data[$field] = $Inputs['h-' . $field];
                }
            }

            // データの存在チェック
            $dataEntity = null;
            $dataEntity = $this->find()->where([
                'reserve_id' => $reserveId
            ])->first();

            if ($dataEntity instanceof \Cake\Datasource\EntityInterface) {
                $data = $this->patchEntity($dataEntity, $data);
            } else {
                $data = $this->newEntity($data);
            }
        }

        return $data;
    }