Попытка получить свойство 'user_role' не-объекта - PullRequest
0 голосов
/ 29 декабря 2018

Я пытаюсь получить доступ к этой странице, которая покажет мне форму входа, которая будет иметь различных пользователей.Но когда я загружаю эту страницу, я перехожу на эту страницу, но появляется это сообщение об ошибке («Попытка получить свойство user_role» для необъекта »)

В моем коде контроллера, который я пробовалиспользуя этот метод $ userRole ['user_rule'] вместо $ user-> user_rule, он работает для меня, но на следующей странице я получил эту ошибку

Сообщение: невозможно использовать объект типа stdClass в качестве массива

Имя файла: C: \ wamp64 \ www \ hms-1 \ application \ controllers \ general.php

Номер строки: 41

Этот код My Controller general.php

class General extends CI_Controller{

function __construct(){
    parent::__construct();  
    date_default_timezone_set("Asia/Manila");
    $this->load->model('general_model');



}

public function variable(){
    $this->data['companyInfo'] = $this->general_model->companyInfo();
    $this->data['userInfo'] = $this->general_model->getUserLoggedIn($this->session->userdata('username'));
    $this->data['UserTitles'] = $this->general_model->UserTitles();
    $this->data['gender'] = $this->general_model->gender();
    $this->data['civilStatus'] = $this->general_model->civilStatus();
    $this->data['departmentList'] = $this->general_model->departmentList();
    $this->data['designationList'] = $this->general_model->designationList();
    $this->data['userRoleList'] = $this->general_model->userRoleList();
    $this->data['roomTypeList'] = $this->general_model->roomTypeList();
    $this->data['floorList'] = $this->general_model->floorList();
    $this->data['roomMasterList'] = $this->general_model->roomMasterList();
    $this->data['bloodGroup'] = $this->general_model->bloodGroup();
    $this->data['religionList'] = $this->general_model->religionList();
    $this->data['doctorList'] = $this->general_model->doctorList();
    $this->data['doctorList2'] = $this->general_model->doctorList();
    $this->data['insuranceCompList'] = $this->general_model->insuranceCompList();
    $this->data['patientListRows'] = $this->general_model->patientList();





    // Sidebar menu restriction access
    $userRole = $this->general_model->getUserLoggedIn($this->session->userdata('username'));
    // var_dump($userRole);
    // Dashboard 
    $this->data['hasAccesstoDoctorAvail'] = ($this->has_rights_to_access("134",$userRole['user_role']) == FALSE) ? FALSE : TRUE;

    // Billing Module Validation
    $this->data['hasAccesstoBilling'] = ($this->has_rights_to_access("85",$userRole['user_role']) == FALSE) ? FALSE : TRUE;
        $this->data['hasAccesstoPOS'] = ($this->has_rights_to_access("84",$userRole['user_role']) == FALSE) ? FALSE : TRUE;
        $this->data['hasAccesstoSurgical'] = ($this->has_rights_to_access("116",$userRole['user_role']) == FALSE) ? FALSE : TRUE;

    // Patient Appointment
    $this->data['hasAccesstoAppointment'] = ($this->has_rights_to_access("121",$userRole['user_role']) == FALSE) ? FALSE : TRUE;
        $this->data['hasAccesstoAddAppointment'] = ($this->has_rights_to_access("122",$userRole['user_role']) == FALSE) ? FALSE : TRUE;

    // Patient Management
    $this->data['hasAccesstoPatient'] = ($this->has_rights_to_access("49",$userRole['user_role']) == FALSE) ? FALSE : TRUE;
        $this->data['hasAccesstoAddPatient'] = ($this->has_rights_to_access("48",$userRole['user_role']) == FALSE) ? FALSE : TRUE;
        $this->data['hasAccesstoPatient'] = ($this->has_rights_to_access("49",$userRole['user_role']) == FALSE) ? FALSE : TRUE;
        $this->data['hasAccesstoOPDRegistration'] = ($this->has_rights_to_access("91",$userRole['user_role']) == FALSE) ? FALSE : TRUE;
        $this->data['hasAccesstoOPDEnquiry'] = ($this->has_rights_to_access("92",$userRole['user_role']) == FALSE) ? FALSE : TRUE;
        $this->data['hasAccesstoIPDRegistration'] = ($this->has_rights_to_access("93",$userRole['user_role']) == FALSE) ? FALSE : TRUE;
        $this->data['hasAccesstoIPDEnquiry'] = ($this->has_rights_to_access("94",$userRole['user_role']) == FALSE) ? FALSE : TRUE;

general_model.php class General_model extends CI_Model {

public function __construct(){
    parent::__construct();  
    date_default_timezone_set("Asia/Manila");
}

public function companyInfo(){
    $query = $this->db->get("company_info");
    return $query->row();
}

public function getUserLoggedIn($username){
    $this->db->select("A.user_id, A.lastname, A.firstname, A.middlename, A.picture, B.designation,A.user_role,C.module,
            D.department_id");
    $this->db->where('A.username', $username);
    $this->db->join("designation B","B.designation_id = A.designation","left outer");
    $this->db->join("user_roles C","C.role_id = A.user_role","left outer");
    $this->db->join("department D","D.department_id = A.department","left outer");
    $query = $this->db->get("users A");
    return $query->row("");
}   

Я хотел решить эту ошибку и загрузить свою панель инструментов, пожалуйста, помогите мне.Спасибо

1 Ответ

0 голосов
/ 29 декабря 2018

ваш объект ($ userRole) не включен (user_rule).Сначала получите count от Object следующим образом: count ($ userRole).Во-вторых, лучше использовать isset для проверки вашего объекта следующим образом: isset ($ userRole ['user_rule'])

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...