我有两个小问题:
actAs: { Timestampable: ~ }
上面代码中的“~”是什么意思?
然后,我看到actAs: { Timestampable: ~ }
具有两个字段(created_at 和 updated_at)的表。
是否可以将 updated_at 字段绑定到特定字段(我更新此字段,然后 updated_at 获取新值)?
我有两个小问题:
actAs: { Timestampable: ~ }
上面代码中的“~”是什么意思?
然后,我看到actAs: { Timestampable: ~ }
具有两个字段(created_at 和 updated_at)的表。
是否可以将 updated_at 字段绑定到特定字段(我更新此字段,然后 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());
}
}