CodeIgniter,将数据从模型传递到控制器以在视图中使用 [英] CodeIgniter, pass data from model to controller to use in view

查看:103
本文介绍了CodeIgniter,将数据从模型传递到控制器以在视图中使用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想将在模型中查询的数据传递给控制器​​,为此,我正在使用return $ data。然后在控制器中使用 $ this-> load-> view('my_view',$ data);

I want to pass data queried in my model to the controller, to do so I am using return $data. Then in the controller I use $this->load->view('my_view', $data);

视图中的 var_dump($ data); 应该向我显示查询的结果...事实并非如此。我从 var_dump($ data); 中获取未定义的变量数据和NULL。

From my understanding var_dump($data); in the view should show me the results from the query... This is not the case. I am getting "undefined variable data" and NULL from the 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个错误


  1. 忘记将结果提取到数组

  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);

这篇关于CodeIgniter,将数据从模型传递到控制器以在视图中使用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆