Php Foreach循环导致重复div

Php Foreach循环导致重复div,php,arrays,join,foreach,duplicates,Php,Arrays,Join,Foreach,Duplicates,我有一个连接查询,它给我一个结果数组 我加入了评论,当我发布一条评论并且有多条评论,而不是将其放在父帖子下时,它会复制它 我的代码 数组\u merge$posts将不起任何作用 问题一定是$posts数组中的数据,根据给出的数据,我猜您没有在SQL查询中执行GROUP BY来提取注释,从而导致数据库中出现成倍的注释。您的查询返回corect结果?$posts数组看起来如何?你能举一个重复的例子吗?你试过array_unique吗?首先感谢你的否决票,我编辑了我的问题,感谢所有的帮助,为什么你总

我有一个连接查询,它给我一个结果数组

我加入了评论,当我发布一条评论并且有多条评论,而不是将其放在父帖子下时,它会复制它

我的代码 数组\u merge$posts将不起任何作用


问题一定是$posts数组中的数据,根据给出的数据,我猜您没有在SQL查询中执行GROUP BY来提取注释,从而导致数据库中出现成倍的注释。

您的查询返回corect结果?$posts数组看起来如何?你能举一个重复的例子吗?你试过array_unique吗?首先感谢你的否决票,我编辑了我的问题,感谢所有的帮助,为什么你总是关闭和重新打开PHP?treid,这个变体的问题是它只显示第一条发布的评论,而不是所有的评论
<div class="stream-posts">
    <?php if(isset($posts)): ?>
    <?php foreach(array_merge($posts) as $post): ?>
        <div id="stream_post_<?php echo $post['stream_id']; ?>" class="span6 stream-content">
            <span class="user"><a href="#"><?php echo $post['full_name']; ?> </a> <abbr class="stream-posted"><?php echo Date::time_ago( $post['date']) ?></abbr> </span>
            <p><?php echo Input::auto_link(Input::nl2br_limit($post['stream_text'], "2")); ?></p>
            <div class="clear"></div>
            <div class="feedback">
                <a href="#" class="like" rel="nofollow">Tetszik</a> - 
                <a href="#" class="comment" rel="nofollow">Hozzászólás</a>
            </div>
            <div class="clear"></div>
                <div class="comments-text">
                    <?php if(count($post['like_id']) > 0): ?>
                        <?php echo count($post['like_id']); ?>
                    <?php endif; ?>
                </div>
            <div class="stream-comment">
                <form class="stream-comment-form">
                    <input type="hidden" name="comment_post" value="<?php echo $post['stream_id']; ?>">
                    <textarea name="comment_text"></textarea>
                    <button type="submit" class="btn btn-primary btn-mini pull-right">Hozzászólok</button>
                </form>
            </div>
        </div>
        <div class="clear"></div>
    <?php endforeach; ?>
    <?php endif; ?>
</div>
static function get_stream()
    {
        $query = DB::select()->from('stream_post');
        $query->join('stream_comment', 'LEFT');
        $query->on('stream_post.stream_id', '=', 'stream_comment.comment_stream_id');
        $query->join('stream_likes', 'LEFT');
        $query->on('stream_post.stream_id', '=', 'stream_likes.like_stream_id');
        $query->join('users_metadata');
        $query->on('stream_post.user_id', '=', 'users_metadata.user_id');
        $query->group_by('stream_post.stream_id');
        $query->order_by('stream_post.stream_id', 'DESC');
        $result = $query->execute();
        if(count($result) > 0) {    
            foreach($result as $row)
            {
                $data[] = $row;
            }

            return $data;
        }

    }