如何为学说实体添加只读属性?

val*_*ron 5 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;

}
Run Code Online (Sandbox Code Playgroud)

hash - 由数据库自动生成列。当我尝试在数据库中创建新记录时,我得到

“hash”列中的空值违反了非空约束

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

Car*_*los 1

在实体构造函数中设置值,并且不创建 setter。这将使您的属性只能从实体外部读取。