budipratama/yii2-userbehaviors

dev-main 2022-08-25 09:37 UTC

This package is auto-updated.

Last update: 2024-09-25 13:56:05 UTC


README

用户行为

安装

安装此扩展的首选方法是通过 composer

可以运行

php composer.phar require --prefer-dist budipratama/yii2-userbehaviors "@dev"

或者在您的 composer.json 文件的 require 部分添加

"budipratama/yii2-userbehaviors": "@dev"

来安装。

使用方法

UserBehaviors 会自动将指定的属性填充为当前登录的用户名。要使用 UserBehaviors,在您的 ActiveRecord 类中插入以下代码

use budipratama\behaviors\UserBehaviors;

 public function behaviors()
 {
     return [
           [
               'class' => UserBehaviors::class
           ],
     ];
 }

默认情况下,UserBehaviors 会在创建行并插入关联的 AR 对象时,将 first_user 和 last_user 属性填充为当前用户名。当 AR 对象被更新时,它会将 last_user 属性填充为用户名。用户值是通过用户名获得的。由于属性值将由此行为自动设置,因此它们通常不是用户输入,因此不应进行验证,即 first_user 和 last_user 不应出现在模型的 rules() 方法中。为了使上述实现与 MySQL 数据库兼容,请将列 (first_user, last_user) 声明为 varchar(50)。如果您的属性名称不同,您可以像下面这样配置 $createdAtAttribute、$updatedAtAttribute 和 $value 属性

 public function behaviors()
 {
     return [
           [
               'class' => UserBehaviors::class,
               'createdAtAttribute' => 'first_userid',
               'updatedAtAttribute' => 'last_userid',
               'value' => function(){
                   return \Yii::$app->user->id;
               }
           ],
     ];
 }