是否可以在CakePHP中设置MySQL列的默认值?我有权访问用户表的默认值:
$fields = $this->User->schema();
$defaultValue = $fields['Amount']['default'];
现在我想将此默认值更改为admin提供的任何特定值。是否可以?
答案 0 :(得分:0)
您不应使用MySQL表架构的default
列属性来存储您计划允许用户修改的值。
您可能会考虑使用一些新的DefaultValues
表/模型(作为一个解决方案)来存储此Amount
列和其他类似列的可编辑默认值。然后,您可以有条件地检查User
实例的Amount
在保存时是否具有空值,并将其设置为从此新表中检索到的可编辑默认值。这为您提供了正在寻找(管理员可编辑的默认值)的功能,同时能够利用Cake的内置表/模型/表单来管理这些默认值的存储/检索。
答案 1 :(得分:0)
尝试更改架构:
ALTER TABLE dbo.table
ADD CONSTRAINT def_mycolumn DEFAULT Amount FOR mycolumn