Я хочу передать данные, запрашиваемые в моей модели, на контроллер, для этого я использую 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
ключевая переменная для просмотра.
менять:
$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);
...