php - DateTime - Symfony FormBuilder 传递值
问题描述
我从数据库中获取了一个特定的 DateTime 值,我想将其作为可选值传递给表单呈现(不起作用),但还有一个可以更改的选项(该选项正在工作)。
我得到了日期,但我无法通过我的表单生成器传递它。
我的(部分)代码:
$lastDate = $transactions[count($accounts) - 1]->getDate();
$theDate = $lastDate->format('Y-m-d H:i:s');
$form = $this->createFormBuilder()
->add('issuingDate', DateType::class, array(
'data' => $theDate,
'label' => false,
'attr' => array(
'date' => (new \DateTime())->format('Y-m-d H:i:s'),
)))
->add('submit', SubmitType::class, array('label' => 'Save', 'attr' => [
'class' => 'btn btn-bg btn-primary'
]))
->getForm();
其他一切似乎都运行良好。
解决方案
$lastDate = $transactions[count($accounts) - 1]->getDate();
$form = $this->createFormBuilder()
->add('issuingDate', DateType::class, array(
'data' => $lastDate,
'data_class' => \DateTime::class,
'label' => false,
))
->add('submit', SubmitType::class, array('label' => 'Save', 'attr' => [
'class' => 'btn btn-bg btn-primary'
]))
->getForm();
这应该足以显示一个带有 $lastDate 对象值的预填充日期的表单。
推荐阅读
- java - 映射中的线程安全写入
- arrays - 在 TypeScript 中使用数组映射方法
- mysql - mysql select union with limit使用了两次
- javascript - 在 Fetch 期间显示加载进度
- macos - VideoToolbox 硬件编码器帧延迟
- javascript - 使用 URL 映射对象以返回对象
- reactjs - 每次当我的 redux 状态更新时,我的整个页面都在加载。不完全从服务器加载资源,但
- layout - 如何配置最小高度非常低的chart.js折线图,并且y轴上只有0和1(无小数)作为刻度
- git - 通过合并提交恢复更改并稍后重新合并
- python - 如果数字在列表中,熊猫会创建列