| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 | <?phpnamespace app\admin\model\teacher;use app\admin\library\Auth;use app\admin\model\department\Department;use think\Exception;use think\Model;use think\Db;use traits\model\SoftDelete;class Task extends Model{    use SoftDelete;    // 表名    protected $name = 'sim_task';        // 自动写入时间戳字段    protected $autoWriteTimestamp = 'int';    // 定义时间戳字段名    protected $createTime = 'createtime';    protected $updateTime = 'updatetime';    protected $deleteTime = 'deletetime';    // 追加属性    protected $append = [        'xianxiang_count',        'buwei_count'    ];    protected static function init()    {        $auth = Auth::instance();        self::beforeUpdate(function ($row) {            if(!empty($row['createtime'])){                $pk = $row->getPk();                $create_time = date('Y-m-d H:i:s',$row['createtime']);                $update_time = date('Y-m-d H:i:s',$row['updatetime']);                $row->getQuery()->where($pk, $row[$pk])->update(['create_time' => $create_time,'update_time'=>$update_time]);            }        });        self::afterInsert(function ($row) {            if(!empty($row['createtime'])){                $pk = $row->getPk();                $create_time = date('Y-m-d H:i:s',$row['createtime']);                $update_time = date('Y-m-d H:i:s',$row['updatetime']);                $row->getQuery()->where($pk, $row[$pk])->update(['create_time' => $create_time,'update_time'=>$update_time]);            }        });    }    public function getXianxiangCountAttr($value, $data)    {        $faultid = Db::name('task_fault')->where('task_id',$data['task_id'])->column('fault_id');        $faultpid = Db::name('fault')->where('fault_id','in',$faultid)->where('sim_type',$data['sim_type'])->column('parent_fault_id');        return Db::name('fault')->where('fault_id','in',$faultpid)->where('sim_type',$data['sim_type'])->count();    }    public function getBuweiCountAttr($value, $data){        return Db::name('task_fault')->where('task_id',$data['task_id'])->count();    }}
 |