2016-06-22 63 views
0

我目前有2個表格需要從中獲取數據。以concat作爲連接參數的Codeigniter有效記錄查詢

我的用戶表如下所示: ID | first_name | last_name |用戶名

我的數據表如下所示: ID |文件名| doctorname |查看

我需要做的是將用戶表中的名字和姓氏與數據表中的醫生姓名相匹配,並從中返回「文件名」和「查看」行。

雖然我似乎無法得到正確的查詢。我正在使用代碼點火器的活動記錄類。我也試着有一個單獨的函數,連接的名字和姓氏,並返回它,但我似乎無法將該變量傳遞給查詢的連接部分。

$avail = '1'; 
    $this->db->select('*'); 
    $this->db->from("users a"); 
    $this->db->where("username",$username); 
    $this->db->where('CONCAT(first_name, '.', last_name) AS doctorname', FALSE); 


    $this->db->join('data b', "doctor name = b.doctorName", "left"); 

    $result = $this->db->get(); 
    // print_r($this->db->last_query()); 
    return $result->result(); 

任何人都知道最近怎麼了? 感謝

+0

請發表您的錯誤...還發表了查詢,添加返回之前如下: 回聲$這個 - > DB-> last_query();出口; –

回答

0

嘗試這樣

$avail = '1'; 
$this->db->select('a.*,b.filename,b.viewed'); 
$this->db->from("users as a"); 
$this->db->join('data as b', "CONCAT(a.first_name, '.', a.last_name) = b.doctorName", "left"); 
$this->db->where("a.username",$username); 
$result = $this->db->get(); 
// print_r($this->db->last_query()); 
return $result->result(); 
+0

感謝您的回覆@suyash!出於某種原因,它沒有返回文件名和我的視圖中的$ doctorname變量拋出一個「未定義的屬性」錯誤。連接時,是否有在first_name和last_name之間放置空格的方法?我認爲這可能是因爲它們之間存在一個空格,因此數據表 – user

+0

concat會添加一個'。'。喜歡。如果first_name是Suyash並且last_name是Maurya,那麼concat會從另一個表中比較爲Suyash.Maurya。如果您想在名稱中添加空格,則只需保留一個空格,如:CONCAT(a.first_name,'',a.last_name)而不是'。'。 – Suyash