我已经使用以下方法更新了模型中的配置变量:
$this->config->set_item('userid', $user_id);
如果我在模型中回显它,我可以看到它已设置。
但是如果我在 Controller 或其他模型中使用以下命令回显它:
echo $this->config->item('userid');
它显示原始值。
我需要在整个 session 中存储此配置变量,但我不想使用 session 变量。
最佳答案
该配置仅适用于您设置的型号。如果您想要全局设置而不使用 session 。
您可以在application/core
上创建一个核心模型并将其命名
MY_Model
基本上,MY_Model
所做的就是在扩展它的所有模型上设置您的配置。
class MY_Model Extends CI_Model
{
protected $user_id;
public function __construct()
{
parent::__construct();
$this->config->set_item('userid', $this->user_id);
}
}
然后在您想要应用设置的模型上,只需扩展您的模型即可。喜欢
Model extends MY_Model
{
public function test($id)
{
$this->user_id = $id;
}
}
或者您可以创建一个与上面相同的核心 Controller ,但将 Controller 替换为模型 欲了解更多信息,请访问 Codeigniter Extending Core Classes
关于php - 在 codeigniter 中动态设置我的配置变量后,如何从其他 Controller 和模型访问它们?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16248539/