2011-06-21 42 views
-1

我想在我的codeigniter數據庫查詢中一起連接2個字段,但它不起作用,請問您能幫助我嗎?Codeigniter concat and join

$this->db->select('*, news.id as news_id, news.created as created_on, CONCAT(users.firstname, users.surname) as article_author, CONCAT(modified_user.firstname, modified_user.surname) as modified_author'); 
$this->db->join('users', 'users.id = news.author', 'left'); 
$this->db->join('users modified_user', 'modified_user.id = news.modified_by', 'left'); 

感謝

+0

你什麼錯誤?你有(TABLE)/ get(TABLE)部分嗎?顯示整個活動記錄查詢,以便我們能夠找出 –

+0

請提供有關您的問題的更多信息。 –

回答

3

在最低限度,你就錯過一個->from。這意味着你沒有什麼可參加的。

0

您發佈的代碼是完整的嗎?嘗試添加獲取功能:

$this->db->select('*, news.id as news_id, news.created as created_on, CONCAT(users.firstname, users.surname) as article_author, CONCAT(modified_user.firstname, modified_user.surname) as modified_author')->join('users', 'users.id = news.author', 'left')->join('users modified_user', 'modified_user.id = news.modified_by', 'left'); 
$this->db->get('TableName'); 

您是否收到任何錯誤?您也可以嘗試打印查詢與:

print_r($this->db->last_query()); 
0

如果你正在使用你需要傳遞FALSE爲你的SELECT語句後的參數CONCAT。像這樣:

$this->db->select('*, news.id as news_id, news.created as created_on, CONCAT(users.firstname, users.surname) as article_author, CONCAT(modified_user.firstname, modified_user.surname) as modified_author',FALSE); 

$ this-> db-> join('users','users.id = news.author','left'); ('users modified_user','modified_user.id = news.modified_by','left');

看到這樣的回答: concat in php codeigniter