2016-03-22 103 views
0

我正在使用CodeIgniter,並希望使用不同的查詢返回一些值,我無法在數據庫本身中更改排序規則,也無法在配置中這樣做,因爲我正在更改別人的代碼。CodeIgniter Active Record整理

有沒有辦法在使用Active Record的查詢中整理?到目前爲止,我曾嘗試:

$this->db->select('fieldName COLLATE utf8_bin');

我也嘗試使用$this->db->collator_set_default無濟於事。

回答

1

嘗試閱讀過說明書 https://codeigniter.com/user_guide/database/configuration.html

在默認連接陣列,你可以找到田

'char_set' => 'utf8', 
'dbcollat' => 'utf8_general_ci', 

也可以去同一個代碼同時運行查詢

$this->db->query("SET NAMES 'latin1'"); 
$this->db->insert('table_name', $data); 
+0

對不起,我已經說過,我不能編輯配置,這包括database.php,無論如何謝謝:) –

+0

呃我明白了。你可以嘗試像$ this-> db-> query(「SET NAMES'latin1'」); 然後你的查詢$ this-> db-> insert('table_name',$ data);,可能有幫助 –

+0

我沒有插入到數據庫中,我試圖選擇而不區分大小寫,這意味着我有整理 例如對於包含「this」和「This」的表,「SELECT DISTINCT名稱COLLATE utf8_bin FROM table」會返回「this」和「This」,而沒有COLLATE時,它只會返回「this 「或」This「 –