【问题标题】:Fuelphp get post comments on same page logicFuelphp在同一页面逻辑上获取评论
【发布时间】:2012-08-29 08:41:35
【问题描述】:

首先,我对fuelphp 很陌生,如果需要,您可以对这个问题投反对票。 我的问题是我做了一个类似facebook的墙,我不太了解cmets的逻辑。

所以我尝试以这种方式加入我的桌子

static function get_stream()
    {
        $query = DB::select()->from('stream_post');
        $query->join('users_metadata');
        $query->on('stream_post.user_id', '=', 'users_metadata.user_id');
        $query->join('stream_comment');
        $query->on('stream_post.stream_id', '=', 'stream_comment.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;
        }

    }

这样做的问题是,这仅显示流发布了具有 cmets 的内容,而没有显示其他内容。

那么请有人给我一个逻辑,如何加入表格以将这些帖子显示给没有评论的内容?

【问题讨论】:

    标签: php join fuelphp


    【解决方案1】:

    试试看:

    static function get_stream()
        {
            $query = DB::select()->from('stream_post');
            $query->join('users_metadata');
            $query->on('stream_post.user_id', '=', 'users_metadata.user_id');
            $query->join('stream_comment', 'RIGHT'); // The RIGHT JOIN keyword returns all rows from the right table, even if there are no matches in the left table.
            $query->on('stream_post.user_id', '=', 'stream_comment.user_id');
            $query->order_by('stream_post.stream_id', 'DESC');
            $result = $query->execute();
            if(count($result) > 0) {    
                foreach($result as $row)
                {
                    $data[] = $row;
                }
    
                return $data;
            }
    }
    

    编辑: 该查询应该可以工作(当stream_post 中的每个user_idusers_metadata 中具有相同的user_id 时。只需将此查询转移到fuelphp(我之前没有使用过)。

    SELECT *
    FROM stream_post
    RIGHT JOIN stream_comment
    ON stream_post.stream_id = stream_comment.stream_id
    JOIN users_metadata
    ON stream_post.user_id = users_metadata.user_id
    ORDER BY stream_post.stream_id DESC
    

    【讨论】:

    • 对不起,我编辑了问题,并尝试了您的代码,但没有显示任何内容
    • 查看我的编辑(您也可以尝试在 PHPmyAdmin 中运行此查询以查看您得到的结果)。
    • 这个问题,当我将查询更改为 left jouin 时,它会返回流 post id null
    • 看起来没什么用,但感谢您的帮助,我们会努力解决的
    • 非常感谢您的帮助,您的代码在第一次左连接时是正确的,这是我的错,流帖子和 stram 评论具有相同的字段名称流帖子 ID 和流评论流 ID 覆盖了流帖子 ID,对此深表歉意,感谢您的帮助
    猜你喜欢
    • 2022-12-09
    • 2015-09-08
    • 1970-01-01
    • 2017-10-15
    • 2016-07-25
    • 2021-10-19
    • 2013-08-28
    • 2013-06-23
    • 1970-01-01
    相关资源
    最近更新 更多