簡體   English   中英

如何使用與 PHP 枚舉鏈接的 ChoiceType 制作表單

[英]How to make a form with ChoiceType linked with PHP enum

我是Symfony的初學者,提交表單時遇到問題:


首先,我創建了名為 Color 的枚舉:

enum Color: string
{
    case Red = "R";
    case Blue = "B";
    case Green = "G";
    case Yellow = "Y";
}

然后,我有一個實體車:

#[ORM\Entity(repositoryClass: CarRepository::class)]
class Car
{
    ...

    #[ORM\Column(type: "string", nullable: true, enumType: Color::class)]
    private Color $color;

    public function getColor(): Color
    {
       return $this->color;
    }

    public function setColor(Color $color): void
    {
        $this->color= $color;
    }

    ...
}

所以我用命令創建了一個 Form of Car 實體

php bin/console make:form

我想在“顏色”字段中添加單選按鈕,所以我的表單是這樣的:

->add('color', ChoiceType::class, [
   'expanded' => true
])

在表單視圖中,我需要枚舉的名稱,但對於數據庫存儲,我只想擁有枚舉的值。

我怎樣才能做到這一點?

感謝閱讀我。 祝你有美好的一天。

請參閱文檔Symfony 枚舉類型

你可以這樣使用

$builder->add('color', EnumType::class, ['class' => Color::class]);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM