2016-01-25 186 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(); 
    }