Symfony 2.3.6 嵌套表单
Symfony 2.3.6 nested forms
我正在尝试制作一个包含表单集合的表格,该表格将允许我填写每周数据。我有一个本周的实体,其中包含一些统计数据
/**
* @ORM'Column(type="integer", nullable=false)
* @ORM'Id
* @ORM'GeneratedValue(strategy="IDENTITY")
*/
protected $week_id;
/**
* @ORM'Column(type="string")
*/
protected $area_worked;
/**
* @ORM'OneToMany(targetEntity="User")
*/
protected $approved_by;
/**
* @ORM'OneToMany(targetEntity="DailyStats")
*/
protected $daily_stats;
然后我有每日统计实体:
/**
* @ORM'Column(type="integer", nullable=false)
* @ORM'Id
* @ORM'GeneratedValue(strategy="IDENTITY")
*/
protected $day_id;
/**
* @ORM'ManyToOne(targetEntity="WeeklyStats")
*/
protected $weekly_stat_id;
/**
* @ORM'Column(type="float")
*/
protected $hours_worked;
/**
* @ORM'Column(type="integer")
*/
protected $day_of_week;
然后,对于这两个,我想要一个可以输出到显示整个星期的表格中的表单:
Monday | Tuesday | Wednesday | Thursday | Friday | Saturday | Sunday
Hours | | | | | | |
但是,当我将其放入表单中时:
//weekly stats form
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('dailyReports', 'collection',array(
'type'=>new DailyStatsForm(),
'options' => array(
'required' => false
),
'allow_add' => true,
));
}
这将生成一个具有空字段集的表单。我可以使用 javascript 向其添加一个字段,但我想知道是否可以始终为此表单生成 7 天以及每周统计信息的其他字段?
任何解决方案建议将不胜感激。
是的,你可以,看看文档,如果你在你的周实体中添加了七个 DailyStats 实体,那么 symfony2 将渲染你想要的七个输入,请检查 http://symfony.com/doc/current/cookbook/form/form_collections.html
class TaskController extends Controller
{
public function newAction(Request $request)
{
$task = new Task();
// dummy code - this is here just so that the Task has some tags
// otherwise, this isn't an interesting example
$tag1 = new Tag();
$tag1->name = 'tag1';
$task->getTags()->add($tag1); // any new related entity you add represents a new embeded form
$tag2 = new Tag();
$tag2->name = 'tag2';
$task->getTags()->add($tag2);
// end dummy code
$form = $this->createForm(new TaskType(), $task);
$form->handleRequest($request);
if ($form->isValid()) {
// ... maybe do some form processing, like saving the Task and Tag objects
}
return $this->render('AcmeTaskBundle:Task:new.html.twig', array(
'form' => $form->createView(),
));
}
}
相关文章:
- 在RubyonRails中创建嵌套表单
- html中的嵌套表单
- 角度嵌套表单验证setPristine on subForm->在parentForm上设置Pristine
- Rails4:如何在嵌套表单上进行AJAX调用
- 如何在RoR嵌套表单中实现链式选择
- 如何在 extjs 中加载嵌套表单
- 对嵌套表单中的新字段重新应用 jquery - Rails 3
- 边栏 - 嵌套表单不会显示在编辑模板中
- 将日期选取器添加到嵌套表单域
- 嵌套表单,用于禁用带有选择框 HTML 的文本字段
- Symfony 2.3.6 嵌套表单
- 使用 AngularJS 跳过嵌套表单验证
- jQuery 序列化嵌套表单
- ExtJS (4.2.2) 嵌套表单验证行为
- 使用angularJs中的嵌套表单进行表单提交行为
- 如何从嵌套表单中收集数据数组
- 处理嵌套表单中的许多隐藏字段
- 在 angularjs 中验证嵌套表单
- Rails -通过jquery向嵌套表单表添加行
- 嵌套表单上的Submit按钮在IE7中提交外部表单