我有两个小问题:
actAs: { Timestampable: ~ }
上面的代码中“〜”是什么意思?
然后,我看到actAs: { Timestampable: ~ }
的表有两个字段(created_at和updated_at)。
是否可以将updated_at字段绑定到特定字段(我更新此字段,然后updated_at获取新值)?
答案 0 :(得分:14)
“〜”表示您将使用默认值或默认配置。在您的情况下,行为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());
}
}