Я хочу передать данные, запрошенные в моей модели, контроллеру, чтобы сделать это, я использую return $ data. Затем в контроллере я использую $this->load->view('my_view', $data);
Из моего понимания var_dump($data);
в представлении должны показать мне результаты запроса … Это не тот случай. Я получаю «неопределенные переменные данные» и NULL из var_dump($data);
,
Вот моя модель:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class Manage_accounts_model extends CI_Model { public function index() { // } public function get_users(){ $data = array(); $data['query'] = $this->db->get('users'); return $data['query']; } }
Вот мой контроллер
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class Manage_accounts extends CI_Controller { public function index() { $this->load->view('template/header'); $this->load->model('manage_accounts_model'); $this->load->view('template/footer'); $this->load->model('manage_accounts_model'); $res = $this->manage_accounts_model->get_users(); if($res){ $this->load->view('manage_accounts_view', $data); } else { echo "Fail"; } } }
И, наконец, мое мнение:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); ?> <div class="container"> <h1><?php if($title){ echo $title; } ?></h1> <?php var_dump($data['query']); ?> </div>
Я думаю, вы сделали 2 ошибки
изменение в классе модели.
public function get_users(){ $data = array(); $query = $this->db->get('users'); $res = $query->result(); return $res; }
изменение в классе контроллера
public function index() { $this->load->view('template/header'); $this->load->model('manage_accounts_model'); $this->load->view('template/footer'); $this->load->model('manage_accounts_model'); $res = $this->manage_accounts_model->get_users(); if($res){ $data['result'] = $res; $this->load->view('manage_accounts_view', $data); } else { echo "Fail"; }
на ваш взгляд
print_r($result);
причина $data
не определена в вашем контроллере
$data = array(); if($res){ $data['res'] = $res; $this->load->view('manage_accounts_view', $data); }
Затем посмотрим
<?php var_dump($res); ?>
Также вы отправляете весь запрос из модели не результат для возвращаемого результата, который вам нужен:
public function get_users(){ $query = $this->db->get('users'); return $query->result(); }
Вы забыли его
$data['resultSet']=$res;
Теперь получите доступ к результату в виде $ res в вашем коде
Просто нужно внести изменения в контроллер
$data['query'] = $this->manage_accounts_model->get_users(); if($data){ $this->load->view('manage_accounts_view', $data); }else{ echo "Fail"; }
Вы не query
ключевую переменную query
для просмотра.
изменение:
$res = $this->manage_accounts_model->get_users(); if($res) { $this->load->view('manage_accounts_view', $data);
Для того, чтобы:
$data['query'] = $this->manage_accounts_model->get_users(); if($data['query']){ $this->load->view('manage_accounts_view', $data); ...