有三种选择的状态

时间:2013-05-04 17:40:30

标签: symfony doctrine-orm choice

我想做出一个选择下拉表单,有三个选择: -favored -intended -verified 所以我不能使用布尔值。

我不知道如何为实体中的状态字段设置注释。有什么帮助吗?

  /**
     * @var boolean
     *
     * @ORM\Column(name="status", type="boolean")
     */
    private $status;

1 个答案:

答案 0 :(得分:3)

我不知道我是否真的理解你的问题,但实际上symfony2 / doctrine2的布尔字段类型是SQL数据库中的tinyint(1)。所以你可以把整数值从-128到127。

一般来说,对于我的实体,我使用这个“规则”:

<?php

class MyEntity
{
     const STATUS_FAVORED  = 1;
     const STATUS_INTENTED = 2;
     const STATUS_VERIFIED = 3;


     /**
      * @var integer
      *
      * @ORM\Column(name="status", type="boolean")
      */
     private $status;


     public function __construct()
     {
         $this->status = self::STATUS_FAVORED;
     }


     /**
      * For ur form by example
      */
     public static function getStatusForChoiceFormField()
     {
         return array(
            self::STATUS_FAVORED  => 'favored',
            self::STATUS_INTENTED => 'intented',
            self::STATUS_VERIFIED => 'verified'

         );
     }
}

?>

见你!