<?php namespace app\common\Model; class ProjectAuth extends CommonModel { protected $pk = 'id'; protected $append = ['canDelete']; /** * @param $id * @return bool|int * @throws \Exception */ public function del($id) { //TODO 删除该权限后,拥有这个权限的账户将被在设置默认权限 if ($this::destroy($id)) { $where = ['auth' => $id]; $result = ProjectAuthNode::where($where)->delete(); if ($result !== false) { return true; } } return false; } public function getIdAttr($value) { return strval($value); } public function getStatusTextAttr($value, $data) { $status = [0 => '禁用', 1 => '使用中']; return $status[$data['status']]; } public function getCanDeleteAttr($value, $data) { if ($data['type'] == 'admin' || $data['type'] == 'member') { return 0; } return 1; } }