現在機材を管理するCMSを作っています。
テンプレートの一部を下記に記載します。
php
1 2echo $this->Form->control('first_work_date_at', ['type'=>'date','empty' => true,'label'=>'初稼働日','dateFormat' => 'YMD']); 3echo $this->Form->control('purchase_date_at', ['type'=>'date','empty' => true,'label'=>'購入日','dateFormat' => 'YMD','monthNames' => false]); 4echo $this->Form->control('client',['label'=>'販売先']); 5echo $this->Form->control('sales_date_at', ['type'=>'date','empty' => true,'label'=>'販売日','dateFormat' => 'YMD','monthNames' => false]); 6echo $this->Form->control('option',['label'=>'オプション']);
何がしたいのか??
formをtype='date'
にして時間を選択させる予定ですが、空欄でも良いことにしようとしています。
これを空欄のままPOSTすると下記のようにsqlのエラーが表示されます。
SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ~~~色々~~~
sqlの方はデータ型ちゃんとdate
に設定して、NULLをYESにしています。
次に
空欄がダメなら一旦適当な日付を選択させ、POSTしようとしますが、同じようなエラーです。
原因を探るために、
php
1var_dump($this->request->getData());
で確認すると
php
1 'first_work_date_at' => string '2020-03-03' (length=10) 2 'purchase_date_at' => string '' (length=0) 3 'client' => string 'Japan' (length=5) 4 'sales_date_at' => string '2020-03-02' (length=10) 5
と日付が入っているのですが。。。(一部抜粋)
一日はまっています。。。
どうすればいいのかヒントをいただけませんでしょうか
もしかしたら、日付が原因ではない???と混乱しています。
よろしくお願いします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/03/06 09:22