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 关注
- 163 浏览
添加回答
举报