【问题标题】:Symfony2 Form Type and DropDown ListsSymfony2 表单类型和下拉列表
【发布时间】:2019-08-27 21:15:22
【问题描述】:

场景

我有一个表单类型,用于创建或编辑我的实体。这些实体以 x 对多 方式与其他实体有某种关系。这意味着 - 相对于保存操作 - 我的下拉列表将填充受约束实体的列表。

假设 - 在形式上 - 有这样的东西:

主要实体:MiniCooper
配件一览
产品 1:[用户可以使用此表单直接插入和保存的输入属性列表]
产品 2:[用户可以使用此表单直接插入和保存的输入属性列表]
.....
产品n:[用户可以使用此表单直接插入和保存的输入属性列表]

其中 Product[1,2,....,n] 是关系的“多”方(将“主要实体”视为关系的“x”方;对于我们的示例而言,如果实际上,这应该是 n 对 m 关系)并假设这些相关实体在创建“主要实体”本身时“自动”分配给我的主要实体。

当我通过实体类型呈现我的表单时,我将获得 Product 1 , Product 2 , .... , Product N 将呈现为下拉列表,并选择了相应的元素。
但是.....我不想要这种行为。我更喜欢它们可能是某种“标签”或类似的东西(因此没有人可以更改选择并产生相同“产品”的多重分配)。我如何编写我的实体类型——现在这些字段是“实体”类型的——来获得这个?

此外,我必须强制使用数据转换器吗??

截图

从屏幕截图中可以看出,所有下拉列表(“价格类型”除外)都不应该是下拉列表(我知道我可以制作单值下拉列表,但我不想要它们)。
希望这张图片能帮助你更好地理解我的问题。

【问题讨论】:

    标签: symfony symfony-2.1


    【解决方案1】:

    我更喜欢它们可以是某种“标签”或类似的东西(因此没有人可以更改选择并产生相同“产品”的多重分配)

    根据您的描述,您似乎想要显示数据,而不是提供一个表单来编辑它(也就是说,您想要在页面上列出实体及其附件)。

    解决这个问题的方法是完全避免使用表单,而只是让实体在视图中可用并直接呈现信息。

    或者,如果您尝试在(为简单起见)一对多关系中的相关项目中以“多项选择”的形式表示,则“实体”表单字段的“扩展”和“多项”选项type 应该做你想做的。

    如果这些都不是答案,那是因为我在努力理解这个问题:)。

    【讨论】:

    • 当我说(复选框)时,实际上,我的意思是该产品的一些属性列表。所以,我想在其关联中显示“主要实体”,并且这些关联可以在同一页面中直接修改(所以,简单来说,我希望我们可以为这些关联的属性分配一些值)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多