如果表中某些字段有默认值且不允许为NULL,那么我们期望插入脚本使用这些默认值,就像MariaDB/MySQL通常所做的那样。例如,如果表格products有一个AI字段“id”,一个必需的字段“name”和两个必需的字段“active”和“featured”,它们都默认为1,则查询应该是:
INSERT INTO products (name) VALUES ('someName');
自动将1插入为活动和精选的值。然而,当使用Phalcon的模型时,请按以下方式操作:
$product = new Products();
$product->setName('someName');
$product->save();
返回验证错误,说“active”和“featured”是必需的。
在生成模型时,我需要提供标志吗,以便Phalcon工具收集并输入默认值到模型类中,或者还有其他方法让Phalcon自动使用找到的默认值?最好的方法应该是忽略未设置的字段。我能让模型这样做吗?
$this->type = $this->type ?: new RawValue('default');
。但无论如何 - 谢谢! :) - serghei