我正在尝试显示我的数据库的一些推荐,但在2天尝试不同的代码组合之后我不得不放弃并希望这里的人比我更了解:)
这是我到目前为止所做的:
模型:
function getTestimonials() {
$this->db->select('*');
$this->db->from('feedback_comments');
$c = $this->db->get();
return $c;
}
控制器:
$testimonials = $this->feedback_model->getTestimonials();
$this->outputData['testimonials'] = $testimonials;
最后是观点:
<?php $i = 1; foreach($testimonials as $testimonial) { ?>
<?php echo $testimonial->dated; ?>, <?php echo $testimonial->comment; ?>
<?php } ?>
由于某种原因,结果未显示。它没有显示任何错误,但它确实显示7行,每行有两个逗号,这很奇怪,因为BD只有一个记录。
关于我做错了什么的任何线索?
提前致谢:)
答案 0 :(得分:0)
可能需要查看此内容:http://ellislab.com/codeigniter/user-guide/database/results.html
问题很简单,你不会将结果存储到任何东西中。基本上,你需要改变:
return $c;
分为:
return $c->result();
为什么需要进行上述更改?基本上,无论何时运行get()方法,您都要检索与数据库查询的连接,这样您就可以检查行数,连接类型的具体信息等。如果您想获得对结果的访问权限,只需在连接字符串上调用result()方法(如果您愿意,则调用result_array)。
答案 1 :(得分:0)
将此代码替换为此代码。
function getTestimonials() {
$this->db->select('*');
$this->db->from('feedback_comments');
$c = $this->db->result();
return $c;
}
答案 2 :(得分:0)
这就是模型方法:
function getTestimonials() {
return $this->db->get('feedback_comments')->result();
}
但是,您没有显示如何加载视图。这一行:$this->outputData['testimonials'] = $testimonials;
看起来有点不标准(因为你使用了$ this,但它应该有效)。这是加载视图的基本概念:
$outputData['testimonials'] = $testimonials;
$this->load->view('my_view', $outputData);