我正在使用 codeigniter 来创建帖子和评论系统。我做了所有的查询,但我不知道如何在表 post_comment 中获取评论。这是我对共享所有帖子的查询。感谢您的帮助。
function get_post_profile($user_id,$limit) {
$this->db->select('post_user.user_id,post_user.id_post_shared,post_shared.post_text,users.name,users.surname,users.id');
$this->db->join('post_shared', 'post_shared.id_post = post_user.id_post_shared');
$this->db->join('users','users.id = post_user.user_id');
$this->db->where('post_user.user_id',$user_id);
$this->db->order_by('post_user.id_post_shared','DESC');
$this->db->limit($limit);
$query = $this->db->get('post_user');
if ($query->num_rows() > 0) {
return $query->result();
} else {
return false;
}
}
用户表
id | name | surname |
1 jhon Smith
2 Sally Dunk
post_user 表
id_post_shared | user_id |
1 1
post_share 表
id_post | post_text
1 Hello guys
post_comment 表
comment_text | id_post | id_user
Hello! 1 2
最佳答案
尝试并回复:
$this->select('post_comment.comment_text, post_comment.id_post, post_comment.id_user')->join('post_share', 'post_share.id_post = post_comment.id_post')->join('users', 'users.id = post_comment.id_user')->get('post_comment');
编辑
function get_comments(){
$data = array();
$posts = array();
$posts = $this->db->select('id_post as post_id, post_text', false)->order_by('id_post', 'desc')->get('post_share', 10)->result_array(); #get first 10 posts
if( is_array( $posts ) && count( $posts ) > 0 ){
foreach( $posts as $key=>$each ){
## gather the comments for the posts ###
$comments = array();
$comments = $this->db->select('comment_text, id_user')->where('id_post', $each['post_id'])->get('post_comment')->result_array();
if( is_array( $comments ) && count( $comments ) ){
$posts[$key]['comments'] = $comments;
}
}
}
return $posts;
}
编辑 1
if( isset( $posts ) && is_array( $posts ) && count( $posts ) > 0 ){
foreach( $posts as $key=>$each ){
echo "Post id :".$each['post_id']." Post txt: ".$each['post_text']."<br>";
if( isset( $each['comments'] ) && is_array( $each['comments'] ) && count( $each['comments'] ) ){
foreach( $each['comments'] as $subKey=>$subEach ){
echo "Comment Txt :".$subEach['comment_text']."<br>";
}
}
}
}
关于mysql - 查询mysql的帖子和评论系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18720268/