예제 #1
0
 public function attachPerm($section, $permission)
 {
     if (is_object($permission)) {
         $permission = $permission->getKey();
     } elseif (is_array($permission)) {
         $permission = $permission['id'];
     } elseif (intval($permission) == 0) {
         $permission = Permission::where('code', $permission)->first()->id;
     }
     if (is_object($section)) {
         $section = $section->getKey();
     } elseif (is_array($permission)) {
         $section = $section['id'];
     } elseif (is_string($section)) {
         $section = Section::where('code', $section)->first()->id;
     }
     if (Permission::where('id', $permission)->count() == 0 || Section::where('id', $section)->count() == 0) {
         return false;
     }
     $data = ['user_id' => $this->id, 'section_id' => $section, 'permission_id' => $permission];
     $permission = PermissionSectionUser::where($data);
     if ($permission->count() == 0) {
         PermissionSectionUser::create($data);
         return true;
     }
     return false;
 }