1 回答

TA貢獻1895條經驗 獲得超3個贊
如果$this->data(我一開始問,但您沒有正確回答我)只是 POST 數組,當然該數組的所有成員都被視為字符串。
您必須解析last_scan_date字符串并將其轉換為 DateTime 類型。
這是函數的代碼(將 YOUR_POST_FORMAT 的值更改為您在 HTML 表單中使用的格式):
/**
* Require post params
*
* @param $params
*/
protected function requirePostParams($params)
{
$currentRequest = $this->get('request_stack')->getCurrentRequest();
$postData = $currentRequest->request->all();
$postContent = json_decode($currentRequest->getContent(), true);
if (!empty($postContent)) {
$postData = $postContent;
}
// HERE YOU PARSE STRING TO DATETIME TYPE
if (isset($postData['last_scan_date']) && !empty($postData['last_scan_date'])) {
$postData['last_scan_date'] = DateTime::createFromFormat('YOUR POST FORMAT', $postData['last_scan_date'])
} else {
$postData['last_scan_date'] = null;
}
$this->data = $postData;
$missingParams = [];
foreach ($params as $param) {
if (!array_key_exists($param, $postData)) {
$missingParams[] = $param;
}
}
}
- 1 回答
- 0 關注
- 187 瀏覽
添加回答
舉報