我正在为一个网站项目使用codeigniter。当我包含一个模型时,只要没有实现函数(构造函数除外),它就可以工作。
这个配置有效:
class Xyz_model extends CI_Model {
function __construct() {
}
}
这并不:
class Xyz_model extends CI_Model {
function __construct() {
}
public function get_xyz() {
return [
"xy" => ["xy"],
"yz" => ["xy"],
"zz" => ["xy","zx","zy"]
];
}
}
甚至没有数据库访问…我不知道为什么不工作
你正在扩展核心模型类,但是子类的构造函数被用在父类的位置:
parent::__construct();
将其添加到模型构造函数中。
使用
模型中class Xyz_model extends CI_Model {
function __construct() {
}
public function get_xyz() {
$array = array(
'xy' => 'xy',
'yz' => 'xy',
'zz' => array("xy","zx","zy")
);
return $array;
}
}
在控制器$new = $this->Xyz_model->get_xyz()
print_r($new);
所以输出将是
Array ( [xy] => xy [yz] => xy [zz] => Array ( [0] => xy [1] => zx [2] => zy ) )