我几次听说过codeigniter,所以我很好奇并想到为什么不呢。我学了一些教程,非常高兴看到框架是如何工作的。 现在我有以下问题我想通过我的控制器传递我的模型中的数据,并在我的视图中显示这个但我总是运行到下面的错误:致命错误:调用成员函数查询()第9行的C:\ wamp \ www \ codeigniterTest \ application \ models \ leden_model.php中的非对象。这个错误的有趣之处在于,当我在这个问题上谷歌时,很多论坛主题是关于这个问题但是无处可去我得到了正确的答案。我的代码看起来像这样。
codegniter版本2.03
class Leden extends CI_Controller {
function __construct(){
parent::__construct();
}
function index()
{
$this->load->model('leden_model');
$ledenModel = new Leden_model();
$data = $ledenModel->allLeden();
$this->load->view('leden_overzicht',$data);
}
}
<?php
class Leden_model extends CI_Model {
function __construct(){
parent::__construct();
}
function allLeden(){
$query = $this->db->query("SELECT * FROM leden");
foreach ($query->result_array() as $row)
{
echo $row['Naam'];
echo $row['Achternaam'];
echo $row['Email'];
}
return $query;
}
}
&GT;
当我在我的控制器中进行查询时,我得到了我想要的结果,为什么不在我的模型中呢?
我的问题是我做错了什么?
答案 0 :(得分:3)
<强> Leden_model.php 强>
?php
类Leden_model扩展了CI_Model {
function __construct(){ parent::__construct(); } function allLeden() { $data = array(); $this->db->select(); $query = $this->db->get('leden'); if ($query->num_rows() > 0) { foreach ($query->result_array() as $row) { $data[] = $row; } } $query->free_result(); return $data; }
<强> Leden_controller.php 强>
?PHP的
class Leden扩展了CI_Controller {
function __construct() { parent::__construct(); $this->load->model('leden_model'); }
function index(){
$data['leden_data'] = $this->ledenModel->allLeden(); $this->load->view('leden_overzicht',$data); }
}
<强> leden_overzicht.php 强>
?PHP的
if(count($ leden_data)) {
foreach($ leden_data as $ key =&gt; $ list) {
echo $ list ['Naam']。 “”。 $ list ['Achternaam']。 “”。 $ list ['电子邮件']。 “
”;}} 其他{ 回声“没有数据。”; }
答案 1 :(得分:0)
你加载数据库了吗?例如:
$这 - &GT;负载&GT;数据库();