Проблема передачи данных из массива в другой массив в codeigniter - PullRequest
0 голосов
/ 21 сентября 2019

У меня проблема с передачей данных в другой запрос данных в контроллере в codeigniter. Есть ли что-то, что мне не хватает?

Метод контроллера:

public function index()
    {
        //sending $data array of variables to view's or to model's
        $data = array('header_title' => 'Nova Democracia - Eleições 2019 - Menu');

        $data['formData'] = $this->Crud_model->getProvinciaAndLocal($this->session->id_local);

        $data['locais'] = $this->Crud_model->getLocaisByIdLocal($formData["id_distrito"]);

        $this->load->view("form_menu/form_menu.php", $data);
    }

и методы моей модели:

function getProvinciaAndLocal($id_local){

        $query = $this->db->query("SELECT `nome_local`, `nome_provincia`, tb_local.id_distrito
            FROM `tb_user` 
            INNER JOIN `tb_local` 
            ON tb_user.id_local = tb_local.id_local 
            INNER JOIN `tb_distrito` 
            ON tb_local.id_distrito = tb_distrito.id_distrito 
            INNER JOIN `tb_provincia` 
            ON tb_distrito.id_provincia = tb_provincia.id_provincia 
            WHERE tb_user.id_local = '".$id_local."' ");

        $row = $query->row();

        $obj = array(
            'nome_provincia' => $row->nome_provincia,
            'nome_local' => $row->nome_local,
            'id_distrito' => $row->id_distrito
        );

        return $obj;
    }

    function getLocaisByIdLocal($id_distrito){

        $query = $this->db->query("SELECT tb_local.id_local, `nome_local`
            FROM `tb_user`
            INNER JOIN `tb_local` 
            ON tb_user.id_local = tb_local.id_local 
            INNER JOIN `tb_distrito` 
            ON tb_local.id_distrito = tb_distrito.id_distrito 
            INNER JOIN `tb_provincia` 
            ON tb_distrito.id_provincia = tb_provincia.id_provincia 
            WHERE tb_local.id_distrito = '".$id_distrito."' ");

        $row = $query->row();

        $obj = array(
            'id_local' => $row->id_local,
            'nome_local' => $row->nome_local,
        );

        return $obj;
    }

Что-то я делаю не так?Потому что, когда я использую $formData["nome_provincia"] в представлении, это работает хорошо ..

1 Ответ

0 голосов
/ 21 сентября 2019

Измените свой контроллер следующим образом.

public function index()
    {
        //sending $data array of variables to view's or to model's
        $data = array('header_title' => 'Nova Democracia - Eleições 2019 - Menu');

        $data['formData'] = $this->Crud_model->getProvinciaAndLocal($this->session->id_local);

        $data['locais'] = $this->Crud_model->getLocaisByIdLocal($data['formData']["id_distrito"]); // Notice the change here

        $this->load->view("form_menu/form_menu.php", $data);
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...