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; }