这是我在codeigniter
中的库文件夹中的自定义类class Commonlib {
public function __construct()
{
$ci=& get_instance();
$ci->load->database();
}
function getcountries(){
return $ci->db->get("countries")->result();
}
function cities(){
return $ci->db->get("cities")->result();
}
}
这是我的观点
$results=$this->commonlib->getcountries();
foreach ($results as $row)
{
echo '<a href="#">'.$row->country .'</a><br>';
}
错误是严重性:通知消息:未定义的变量:ci 如何在库构造函数中加载数据库
答案 0 :(得分:3)
尝试以下代码。建议有一些变化
class Commonlib {
private $ci;
public function __construct()
{
$this -> ci=& get_instance();
$this -> ci->load->database();
}
function getcountries(){
return $this -> ci->db->get("countries")->result();
}
function cities(){
return $this -> ci->db->get("cities")->result();
}
}
注意:在$db
方法的旧代码__construct()
中,仅在该方法中具有范围。为了在整个类中全局获取ci
对象,我使用了$this
。
答案 1 :(得分:0)
请尝试创建帮助
在dir app / helpers /
中创建助手layout_helper.php
function getcountries()
{
$CI = & get_instance();
return $CI->db->get("countries")->result();
}
现在功能使用是视图文件 那样:
$result = getcountries();
foreach ($results as $row)
{
echo '<a href="#">'.$row->country .'</a><br>';
}