模型的 codeigniter 全局数组
codeigniter global array for a model
在我的控制器中,我想声明一个全局变量,它将始终从我的数据库中获取所有区域
目前我正在通过 $data['dropdowns']
在我的 class
中的所有方法中
{
$data['dropdowns']=loading some other model method
$this->load->view('commons/header',$data);
}
{
$data['dropdowns']=loading some other model metod
$this->load->view('commons/header',$data);
}
{
$data['dropdowns']=loading some other model metod
$this->load->view('commons/header',$data);
}
{
$data['dropdowns']=loading some other model metod
$this->load->view('commons/header',$data);
}
问题是我现在想将 $data['area']
发送到所有视图,而不必在每个方法中一次又一次地声明它
$data['area']= $this->area_model->get_all_locations();
你想添加全局变量,但根据我的建议,使用全局函数可以在任何地方使用发送参数,所以请检查下面我的代码。
注意:请在 application/config/autoload.php 文件
中加载您的模型
这是一个简单的演示:
控制器
{
$data['dropdowns']=$this->your_model_name->get_records('table_name','select field like id, name');
$this->load->view('commons/header',$data);
}
{
$data['dropdowns']=$this->your_model_name->get_records('table_name','select field like id, name,user_name');
$this->load->view('commons/header',$data);
}
您的模特
function get_records($table_name,$field_name)
{
$this->db->select("$field_name");
$this->db->from("$table_name");
$query=$this->db->get();
return $query->result_array();
}
为您的自定义函数创建一个助手
例如:custom_helper.php
然后在 autoload.php
中加载自定义助手
在custom_helper.php
中创建一个获取面积的函数。
if (!function_exists('get_area')) {
function get_area() {
$CI = & get_instance();
$area= $CI->area_model->get_all_locations();
return $area;
}
}
您可以在视图中调用 get_area()
而无需在控制器中声明..
创建一个base_controller并放置在application/core
class base_controller extends CI_Controller
{
public $area = array();
function __construct()
{
// Call the Controller constructor
parent::__construct();
$this->get_area();
}
public function get_area() {
$this->load->model('area_model');
$this->area= $this->area_model->get_all_locations();
}
}
现在 $this->area 在扩展 base_controller 的所有控制器中可用,您可以将所有常用功能放在这里
class homepage extends base_controller{
function __construct()
{
// Call the Controller constructor
parent::__construct();
}
public function index()
{
$data = $this->area; // call this wherever u need
$this->load->view('commons/header',$data);
}
}
重要的是$this->area;可以直接在视图里面使用
在我的控制器中,我想声明一个全局变量,它将始终从我的数据库中获取所有区域
目前我正在通过 $data['dropdowns']
在我的 class
{
$data['dropdowns']=loading some other model method
$this->load->view('commons/header',$data);
}
{
$data['dropdowns']=loading some other model metod
$this->load->view('commons/header',$data);
}
{
$data['dropdowns']=loading some other model metod
$this->load->view('commons/header',$data);
}
{
$data['dropdowns']=loading some other model metod
$this->load->view('commons/header',$data);
}
问题是我现在想将 $data['area']
发送到所有视图,而不必在每个方法中一次又一次地声明它
$data['area']= $this->area_model->get_all_locations();
你想添加全局变量,但根据我的建议,使用全局函数可以在任何地方使用发送参数,所以请检查下面我的代码。
注意:请在 application/config/autoload.php 文件
这是一个简单的演示: 控制器
{
$data['dropdowns']=$this->your_model_name->get_records('table_name','select field like id, name');
$this->load->view('commons/header',$data);
}
{
$data['dropdowns']=$this->your_model_name->get_records('table_name','select field like id, name,user_name');
$this->load->view('commons/header',$data);
}
您的模特
function get_records($table_name,$field_name)
{
$this->db->select("$field_name");
$this->db->from("$table_name");
$query=$this->db->get();
return $query->result_array();
}
为您的自定义函数创建一个助手
例如:custom_helper.php
然后在 autoload.php
在custom_helper.php
中创建一个获取面积的函数。
if (!function_exists('get_area')) {
function get_area() {
$CI = & get_instance();
$area= $CI->area_model->get_all_locations();
return $area;
}
}
您可以在视图中调用 get_area()
而无需在控制器中声明..
创建一个base_controller并放置在application/core
class base_controller extends CI_Controller
{
public $area = array();
function __construct()
{
// Call the Controller constructor
parent::__construct();
$this->get_area();
}
public function get_area() {
$this->load->model('area_model');
$this->area= $this->area_model->get_all_locations();
}
}
现在 $this->area 在扩展 base_controller 的所有控制器中可用,您可以将所有常用功能放在这里
class homepage extends base_controller{
function __construct()
{
// Call the Controller constructor
parent::__construct();
}
public function index()
{
$data = $this->area; // call this wherever u need
$this->load->view('commons/header',$data);
}
}
重要的是$this->area;可以直接在视图里面使用