gpt4 book ai didi

symfony1 - symfony : actAs: { Timestampable: ~ }

转载 作者:行者123 更新时间:2023-12-04 16:48:24 24 4
gpt4 key购买 nike

我有两个小问题:

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 field :
  • 首先:您必须禁用该字段的时间戳行为(参见上面的示例
  • 第二:你必须自己做这些行为。

  • 最简单的方法是扩展 preSave您的模型的功能并在这里完成工作。像:
    class Article extends BaseArticle
    {
    public function preSave($event)
    {
    if(array_key_exists("your_field", $this->getModified())
    {
    $this->setUpdatedAt(time());
    }
    }

    关于symfony1 - symfony : actAs: { Timestampable: ~ },我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10339398/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com