CodeIgniterは(MySQLの)に '名前+ 0'、ORDER BYする方法:私はこのようになりますMySQLデータベースのテーブルを持っている
$this->db->select('*')
->order_by('name', 'ASC')
->get('table_name');
:私は次のメソッドを使用してテーブルを並べ替える場合は
id | name
1 | 1 some words
2 | 2 some other words
3 | 1.1 some other words
...
10 | 10 some other words
私は順序を次の表を受け取る:
id | name
1 | 1 some words
3 | 1.1 some other words
10 | 10 some other words
...
2 | 2 some other words
しかし、私は実際にこの順序でテーブルを受信したい:
id | name
1 | 1 some words
3 | 1.1 some other words
2 | 2 some other words
...
10 | 10 some other words
これは、SQL文の次使用可能です:
SELECT * FROM database_name.table_name ORDER BY name + 0 ASC;
しかし、私はこのようcodeIgnitersクエリビルダを使用する場合、私は、データベースのエラーを取得:
$this->db->select('*')
->order_by('name + 0', 'ASC')
->get('table_name');
注ことが不可能であることを私の状況では、IDで別の列や順序で番号を格納するかのいずれかです。
このSQL文をCodeIgnitersクエリービルダーで使用できるようにする方法はありますか?
SELECT * FROM database_name.table_name ORDER BY name + 0 ASC;
事前に感謝
EDIT: '' 私は混乱のために非常に残念ですが、 1.1では1.1.1、1.1.2、1.1.3のように浮動小数点ではありませんでした。 @Marc Bのソリューションを使って解決策を見つけて、次のようにクエリビルダーに入れました:
$query = $this->db->select('name+0 AS name', FALSE)
->order_by('name', 'ASC')
->get('table_name');
は派生フィールドとエイリアスを使用してあなたの答えのために非常に多くの
これは実際には機能しません。 –