【发布时间】:2011-07-05 14:14:59
【问题描述】:
是否可以在 CakePHP 中为 MySQL 列设置默认值?我可以访问用户表的默认值:
$fields = $this->User->schema();
$defaultValue = $fields['Amount']['default'];
现在我想将此默认值更改为管理员提供的任何特定值.. 可以吗?
【问题讨论】:
标签: php mysql cakephp-1.3
是否可以在 CakePHP 中为 MySQL 列设置默认值?我可以访问用户表的默认值:
$fields = $this->User->schema();
$defaultValue = $fields['Amount']['default'];
现在我想将此默认值更改为管理员提供的任何特定值.. 可以吗?
【问题讨论】:
标签: php mysql cakephp-1.3
尝试更改架构:
ALTER TABLE dbo.table
ADD CONSTRAINT def_mycolumn DEFAULT Amount FOR mycolumn
【讨论】:
您不应使用 MySQL 表架构的 default 列属性来存储您计划允许用户修改的值。
您可能会考虑一些新的DefaultValues 表/模型(作为一种解决方案) 用于存储此Amount 列和其他类似列的可编辑默认值。然后,您可以有条件地检查 User 实例的 Amount 在保存时是否具有空值,将其设置为从该新表中检索的可编辑默认值。这为您提供了您正在寻找的功能(管理员可编辑的默认值),同时能够利用 Cake 的内置表/模型/表单来管理这些默认值的存储/检索。
【讨论】: