PHP と Codeigniter(v2.0) フレームワークの両方が初めてです。私の最初の webapp を使用する方法を見つけるのを手伝ってくれることを願っています。詳細は以下をご覧ください。よろしくお願いします。
目標/問題の概要: 特定の blog_Post に添付されているすべての blog_Comments をビュー内に表示したいと考えています。
詳細:私の blog_Posts テーブルには、すべての元のブログ投稿 [id(int)、タイトル、エントリ、作成者 (すべての varchar)、および日付 (タイムスタンプ)] が含まれています。私の 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 つの問題もリストしました。現在、2 つのオリジナルのブログ投稿のサンプルと、それぞれに関連付けられたコメントがあります。
問題:
- 最初のブログ エントリ (初めてループを通過) では、他の entry_id に関連付けられたコメントを含むすべてのコメントが表示されます。
- 2 番目のブログ エントリ (2 回目のループ) では、「無効な引数が foreach() に指定されました」というエラーがスローされ、$comments の foreach を含むビュー内の行を指します。
つまり、元の投稿の「id」と一致する entry_id を持つコメントのみを調べようとしています。
ご協力と時間をありがとうございました。
-AJ