来自数据库的PHP echo枚举类型

时间:2019-03-20 23:12:42

标签: php database enums echo

我目前正在开发一个网站,用户可以在该网站上填写表格以上传他们希望出售的商品。

表单此部分的代码如下:

http://localhost:8000

我希望在我的php数据库中回显每个枚举选项(请参见下图),作为用户从表单中选择的选项。任何有关如何执行此操作的建议将不胜感激。

Database table row name: Category type: Enum

enter image description here

2 个答案:

答案 0 :(得分:0)

我想做这样的事情:

->add('audience', ChoiceType::class,
    [
        'choices' =>
        [
            'Students: anybody with a student level field populated' => Announcement::AUDIENCE_STUDENTS,
            'Employees: anybody with an employee ID number' => Announcement::AUDIENCE_EMPLOYEES,
        ],
        'expanded' => true,
        'required' => true,
        'multiple' => true,
    ]
)

答案 1 :(得分:0)

您应该规范化您的表结构。存储在ENUM数据类型中的所有值都应存储在单个数据库表中。让我们将此表称为类别。该表有两列。一个自动递增列,作为id和值本身,应该是唯一列,以便每个类别仅存储一次。实际上,您已经存在的列类别应该是整数列,作为其他数据表的id列的外键。这种结构是所谓的1:n关系。一个类别可用于另一张表中的n个条目。

下一个优点是,您可以列出类别表中的所有唯一项。 ;)