我是 PHP 和 Codeigniter(v2.0) 框架的新手。希望你能帮助我通过我的第一个 webapp 找到我的方式。详情如下,在此先感谢您!
目标/问题摘要: 我想在我的视图中显示附加到每个特定 blog_Post 的所有 blog_Comments。
详细信息:我的 blog_Posts 表包含所有原始博客文章 [id(int)、title、entry、author (all varchar) 和 date(timestamp)]。我的 blog_Comments 表[id(int), entry_id(int), author, comment(varchar)] 包含所有评论;它们通过 *entry_id* 属性与原始 blog_Post 相关联。
控制器:
$query1 = $this->blog_model->get_posts();
$query2 = $this->blog_model->get_comments();
$data = array();
$data['posts'] = $query1;
$data['comments'] = $query2;
模型:
function get_posts() {
$query = this->db->get('blog_Posts');
return $query->result;
}
function get_comments() {
$query = this->db->get('blog_Comments');
return $query->result;}
看法:
<?php if(isset($posts)) : foreach($posts as $posts=>$row) : ?>
<?php $row->title; ?>
<?php $row->author; ?>
<?php $row->entry; ?>
<?php foreach($comments as $comments=>$com) : ?>
<?php if($com->entry_id == $row->id) : ?>
<p>author: <?php echo $com->author; ?></p>
<p>comment: <?php echo $com->comment; ?></p>
<?php endif; ?>
<?php endforeach; ?>
<?php endforeach; ?>
<?php else : ?> <p>no blog_Posts found</p>
<?php endif; ?>
编辑/更新:
我尝试显示评论被粘贴到上面的视图代码块中,我还列出了它给我的两个问题。现在我有 2 个示例原始博客文章,以及与每个相关的评论。
问题:
- 第一个博客条目(第一次通过循环)显示所有评论,包括与其他 entry_id 相关的评论。
- 第二个博客条目(第二次通过循环),它抛出以下错误:“为 foreach() 提供的参数无效”,并指向我视图中包含 foreach for $comments 的行。
简而言之,我试图只浏览那些 entry_id 与原始帖子“id”匹配的评论。
再次感谢您的帮助和时间。
-AJ