我有两个小问题:
actAs: { Timestampable: ~ }
上面的代码中的“〜”是什么意思?
然后,我看到带有
actAs: { Timestampable: ~ }
的表具有两个字段(created_at和updated_at)。是否可以将updated_at字段绑定(bind)到特定字段(我先更新此字段,然后updated_at获得新值)?
最佳答案
“〜”表示您将使用默认值或默认配置。在您的情况下,行为Timestampable将使用默认值和配置。因此,您不必重新定义它们。
在文档中,这是一些配置:
Timestampable:
created:
name: created_at
type: timestamp
format: Y-m-d H:i:s
updated:
disabled: true
您还会在默认的
generator.yml
中找到这个“〜”(很多)。这样,生成器,即使是空的,也会生成一个不错的管理员:config:
actions: ~
fields: ~
list: ~
filter: ~
form: ~
edit: ~
new: ~
对于第二个问题,
Timestampable
的目标是针对一行中的每次修改,updated_at
字段将设置为当前日期。因此,您无需照顾它。编辑:
如果要手动更新
updated_at
字段,请执行以下操作:首先
最简单的方法是扩展模型的
preSave
函数并在此处完成工作。喜欢:class Article extends BaseArticle
{
public function preSave($event)
{
if(array_key_exists("your_field", $this->getModified())
{
$this->setUpdatedAt(time());
}
}