2012-08-29 65 views
1

首先,我對fuelphp非常陌生,如果需要,您可以投票回答問題。 我的問題是,我做了一個類似的牆壁,我並不真正瞭解評論的邏輯。Fuelphp在相同的頁面邏輯上獲得發表評論

所以我想加入我的表這樣

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; 
     } 

    } 

與此問題是,這隻能說明該流的帖子有什麼意見,並且不顯示等。

那麼可以請別人給我一個邏輯如何加入表格,以顯示那些沒有評論的帖子?

回答

2

試一下:

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; 
     } 
} 

編輯: 該查詢應該工作(當每一個user_idstream_postusers_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 
+0

對不起我的壞編輯的問題,並試圖您的代碼,說明不了什麼 – Side

+0

看到我的編輯(你也可以嘗試運行這個問答umy在PHPmyAdmin中看到你得到了什麼)。 – Chris

+0

這個問題,當我改變查詢離開jouin它重新調整流發佈ID空 – Side