1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- <?php
- namespace App\Models;
- use Illuminate\Database\Eloquent\Model;
- use Illuminate\Support\Facades\DB;
- use Illuminate\Support\Facades\Log;
- class UserRole extends Model
- {
- protected $table = "user_roles";
- public $timestamps = false;
- public function AssignRoles($uid, array $roles)
- {
- $checkData = $this->select("id")
- ->where("user_id", $uid)
- ->where("is_del", false)
- ->first;
- $r = 0;
- foreach ($roles as $role) {
- $r = $r & $role;
- }
- if (!$checkData) {
- // 插入新数据
- $this->user_id = $uid;
- $this->roles = $r;
- $this->save();
- } else {
- // 更新旧角色
- $this->roles = $r;
- $this->save();
- }
- return"success";
- }
- public function LoadRoleByUid($uid)
- {
- $role = $this->select("user_id", "role_id", "status")
- ->where("user_id", $uid)
- ->where("is_del", false)
- ->first();
- return $role;
- }
- /**
- * 根据角色id,列出用户-角色数据
- *
- * @param $rids 多个角色id
- * @return array
- */
- public function LoadUsersWithRoles($rids)
- {
- $user_roles = $this->select("id", "user_id", "role_id", "status")
- ->whereIn("role_id", $rids)->where("is_del", false)
- ->get();
- $uids = [];
- foreach ($user_roles as $ur) {
- array_push($uids, $ur["user_id"]);
- }
- if (count($uids) == 0) {
- return ["user_role" => [], "userInfo" => null];
- }
- // load user info
- $u = new User();
- $users = $u->ListUserByIds_KV($uids);
- return ["user_role" => $user_roles, "userInfo" => $users];
- }
- }
|