> 백엔드 개발 > PHP 튜토리얼 > yii2中的行为配置项是怎么生效的

yii2中的行为配置项是怎么生效的

WBOY
풀어 주다: 2016-06-06 20:18:51
원래의
1307명이 탐색했습니다.

<code>public function behaviors()
    {
        return [
            [
                'class' => TimestampBehavior::className(),
                'attributes' => [
                    ActiveRecord::EVENT_BEFORE_INSERT => ['created_at', 'updated_at'],
                    ActiveRecord::EVENT_BEFORE_UPDATE => ['updated_at'],
                ],
            ],
        ];
    }</code>
로그인 후 복사
로그인 후 복사

当记录插入时,行为将当前时间戳赋值给 created_at 和 updated_at 属性;
当记录更新时,行为将当前时间戳赋值给 updated_at 属性。

请问,上面代码attributes中的配置项是怎么起作用的。

回复内容:

<code>public function behaviors()
    {
        return [
            [
                'class' => TimestampBehavior::className(),
                'attributes' => [
                    ActiveRecord::EVENT_BEFORE_INSERT => ['created_at', 'updated_at'],
                    ActiveRecord::EVENT_BEFORE_UPDATE => ['updated_at'],
                ],
            ],
        ];
    }</code>
로그인 후 복사
로그인 후 복사

当记录插入时,行为将当前时间戳赋值给 created_at 和 updated_at 属性;
当记录更新时,行为将当前时间戳赋值给 updated_at 属性。

请问,上面代码attributes中的配置项是怎么起作用的。

理解行为和事件

通俗来说,背后的逻辑就是通过上面的代码,为ar绑定了两个事件,分别是beforeInsert 和 'beforeUpdate',

当这两个事件触发时,调用回调出里函数,设置属性值

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿