2016-01-25 201 views
0

Feedback如何連接兩個表?

User

該查詢works.Fetching反饋表DATAS:

public function feedback_data() 
    { 
     $recipe_id = 0; 
     $this->db->where('recipe_id',$recipe_id); 
     $query = $this->db->get('feedback'); 
     return $query->result_array(); 
    } 

我需要從用戶表中提取從反饋表,名字和姓氏feedback_id和評論,其中來自反饋USER_ID等於來自用戶的user_id。順便說一句,這是我的查詢,我認爲它不工作。

$this->db->select('f.feedback_id, f.comment, f.recipe_id, f.user_id as Fid'.'u.firstname, u.lastname, u.user_id as Uid'); 
    $this->db->from('feedback f') 
    $this->db->join('user u','u.user_id = f.user_id'); 
    $this->db->where('f.recipe_id', $recipe_id); 
    $query = $this->db->get()->result(); 
    return $query; 
+0

爲什麼你認爲它不工作?此外,這有錯字,例如'$ recpe_id',所以請剪切並粘貼您的實際查詢。請輸入這些內聯鏈接。你在用什麼SQL?請閱讀幫助鏈接中的MVCE。 PS你想'u.user_id = f.user_id'。 – philipxy

+0

我正在使用mysql ..我應該刪除所有的別名? – Sandy

+0

你爲什麼認爲它不起作用?什麼是正確的查詢? – philipxy

回答

0

請試試這個:

$this->db->select('f.feedback_id, f.comment, f.recipe_id, f.user_id as Fid'.'u.firstname, u.lastname, u.user_id as Uid'); 
$this->db->from('feedback f') 
$this->db->join('user u','u.user_id = f.user_id', 'left'); 
$this->db->where('f.recipe_id', $recipe_id); 
$query = $this->db->get()->result(); 
return $query; 

試試這個,如果上面的代碼不起作用:

$this->db->select('f.feedback_id, f.comment, f.recipe_id, f.user_id as Fid'.'u.firstname, u.lastname, u.user_id as Uid'); 
    $this->db->from('feedback f'); 
    $this->db->join('user u','u.user_id = f.user_id', 'left'); 
    $this->db->where('f.recipe_id', $recipe_id); 

    $query = $this->db->get(); 
    if ($query->num_rows() > 0) 
    { 
     return $query->row_array(); 
    }