Ошибка преобразования массива в строку в CodeIgniter? - PullRequest
0 голосов
/ 25 июня 2018

Это код

Файл моего контроллера

public function view_resume($id)
{
    $this->load->model('ORB_Model');

    $data['get_masterData'] = $this->ORB_Model->get_masterData($id);
}

Файл моей модели:

public function get_educationData($id)
    {
        return $this->db->get_where('edu_tb',['edu_id'=>$id],2)->result_array();
    }

Мой файл просмотра:

<?php
     print_r($get_educationData);
die;
// output array()
foreach ($get_educationData as $key){
?>
 value="<?php echo $key->['edu_name']; ?>"
 <?php
} 
?>

Теперь, когда я печатаю my $ get_educationData, он выдаст только пустой array ().мои данные не приходят из модели.На мой взгляд, там ничего не показано.

1 Ответ

0 голосов
/ 25 июня 2018

Ваш контроллер должен быть таким:

Вы также должны вызвать метод get_educationData в вашем контроллере, например:

public function view_resume($id)
{
    $this->load->model('ORB_Model');

    $data['get_masterData'] = $this->ORB_Model->get_masterData($id);
    $data['get_educationData'] = $this->ORB_Model->get_educationData($id);

    /* load view here like this */
    $this->load->view('your_view' ,$data);
}

Ваша модель get_educationData должна быть такой:

public function get_educationData($id)
{
    if ( ! empty($id))
    {
        $query = $this->db->get_where('edu_tb', array('edu_id' => $id));
    }
    else
    {
        $query = $this->db->get('edu_tb');
    }

    if ($query->num_rows() > 0)
    {
        return $query->result_array();
    }
}

Ваше мнение должно быть таким:

Вместо обозначения объекта используйте массив, поскольку ваши возвращаемые данные находятся в виде массива

<?php
//print_r($get_masterData);
//print_r($get_educationData);
if ( ! empty($get_educationData))
{
   foreach ($get_educationData as $item)
   {
      echo $item['edu_name'];
   } 
}
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...