如何向doctrine实体添加只读属性?

时间:2018-02-07 16:47:56

标签: php symfony doctrine-orm symfony-3.4

我的实体:

class MyEntity {

    /**
     * @var string
     *
     * @ORM\Column(name="hash", type="string", length=128, unique=true, nullable=false)
     */
    protected $hash;

}

hash - 是按数据库自动生成列。当我尝试在db中创建新记录时

  列中的

空值"哈希"违反非空约束

是否有机会将哈希值设为只读?或禁用插入?

1 个答案:

答案 0 :(得分:2)

在实体构造函数中设置值,不要创建setter。这将使您的财产仅从实体外部读取。