Sonata admin 显示匹配整数值的字符串

Sonata admin display string matching integer values

我正在为我的后台应用程序使用 sonata admin。 我的实体有一个整数字段,每个值都有一个我想用文字显示的含义。 例如,假设它有意见字段,可以是 0、1、2 或 3。 0表示没有意见 1表示我同意 2表示我不同意 3 表示我必须解释一下

在我的数据库中,我存储了 0、1、2 或 3,在 CRUD 界面上,我需要显示字符串值

我该怎么做?

有多种方法,这是一种方法

在您的实体中定义常量,如下所示:

Class EntityName
{
    const NO_OPINION = 0;
    const I_AGREE = 1;
    const I_DONT_AGREE = 2;
    const I_GOTTA_EXPLAIN = 3;

   // field which holds those values
   protected $status = EntityName::NO_OPINION;


//

在后台class

$listMapper
    ->addIdentifier('id')
    ->add('status', 'choice', array(
    'choices' => array(
    EntityName::NO_OPINION => "No Opinion",
    EntityName::I_AGREE => 'I Agree',
    EntityName::I_DONT_AGREE => 'I Don\'t Agree',
    EntityName::I_GOTTA_EXPLAIN => 'I\'ve got to explain', 
    )
    ))
    ->add('somethingelse')