我有一个可能很愚蠢的问题 - 但这是由于我缺乏知识。我想知道我是否可以完成以下结果。
控制器
class Building extends CI_Controller {
function __construct(){
parent::__construct();
$this->load->model('buildings/buildings_model' , 'buildings');
$is_locked = $this->buildings->_lock;
}
// generic building overview. Includes data like name and location
public function index($obj)
{
// the $obj param is the segment id from router
}
public function details($obj)
{
// here I would get some more specific data
}
public function associates($obj)
{
// list of things that the object is associated
}
}
模型
class buildings_model extends MY_Model{
public $_lock = false;
function __construct() {
parent::__construct();
// example pseudo code
// db query select lock from obj where id = 1 for example
// if lock == 1 { $this->_lock = TRUE; }
}
}
现在问题..我分配了一个全局变量public $_lock = false;
在model
中,因此可以在controller
的每个范围内访问它。
但每次我访问views
时,model constructor
每次都会进行查询以检查对象是否被锁定。通常,如果建筑物被锁定,我需要一个全局标志 - 但不是每次页面视图都生成一次。