2つの小さな質問があります。
actAs: { Timestampable: ~ }
上記のコードで「〜」とはどういう意味ですか?
次に、actAs: { Timestampable: ~ }
2つのフィールド(created_atとupdated_at)を持つテーブルがあることを確認しました。
updated_atフィールドを特定のフィールドにバインドすることは可能ですか(このフィールドを更新してから、updated_atが新しい値を取得します)?
2つの小さな質問があります。
actAs: { Timestampable: ~ }
上記のコードで「〜」とはどういう意味ですか?
次に、actAs: { Timestampable: ~ }
2つのフィールド(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: ~
2 番目の質問の目的は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());
}
}