1

我有一个简单的一对多关系的数据库,如下所示:

表公司类别
行 ID ID
         姓名 姓名
         类别_ID

我有一个表格,我可以在其中添加、编辑和删除公司或类别的名称,效果很好。通过 ID 输入类别也可以,但使用起来显然很糟糕。我想要的是表单中的一个简单选择元素,可以从现有类别中进行选择。

我必须生成的代码<select>是:

$this->add(array(
        'name' => 'Categorie',
        'type'  => 'Zend\Form\Element\Select',
        'attributes' => array(
            'options'  => $categories,
        ),
        'options' => array(
            'label' => 'Categorie',
        ),
));

根据我在(极其稀疏的)ZF2 文档中可以找到的内容,我应该使用 aHydrator将数据提取到$categories变量中,但我不确定从那里去哪里。

任何类型的示例或提示将不胜感激!

4

1 回答 1

3

是一篇关于表单的非常好的文章。

我的解决方案基于本教程,并且(几乎)运行良好。我不知道您是否将 Doctrine 用于您的项目,但我认为这将是一个非常好的主意!

我也大量使用选择元素。在给定的字段集中,我使用这段代码为选择生成值选项:

$opt= Registry::get('entityManager')->getRepository('My\Entity\Categories')
                ->getCategoriesForCombobox();
$this->get('category')->setValueOptions($opt);

如果你(计划)使用 Doctrine,你应该非常仔细地阅读 Doctrine 文档中关于存储库的信息。如果您在表单中使用集合,那么关于关联的主题也是必读的。

于 2012-10-30T08:49:56.643 回答