「タイトル」フィールドを持つテーブルがあり、このテーブルのすべての行を取得して、タイトル ASC で並べ替えようとしています。私がテストしている 4 つのレコードのタイトルは次のとおりです。
別のテスト
私の新しいページ
新着
ああ
これは行が返される順序でもあり、これは正しくありません。「aaa」はリストの一番上にあるはずです。問題は大文字と小文字にあると思います。
タイトルだけでなく LOWER(title) で注文したいのですが、FuelPHP でこれを機能させるのに問題があります。
レコードを選択するために使用しているコードは次のとおりです。
$pages = Model_pages::find('all', array(
'order_by' => array('title' => 'asc')
));
「ケース」に関係なく、注文アイテムの上のコードを作成するにはどうすればよいですか?
編集:
@Uru、フィードバックをありがとう:) 次のコードを試してみましたが、すべてのバリエーションで SQL または PHP エラーが発生します。
$pages = Model_pages::find('all', array(
'order_by' => \DB::expr('LOWER(title) ASC')
));
$pages = Model_pages::find('all', array(
'order_by' => \DB::expr('LOWER(title)')
));
$pages = Model_pages::find('all', array(
'order_by' => \DB::expr('LOWER(title) ASC')
));
$pages = Model_pages::find('all', array(
'order_by' => array( \DB::expr('LOWER(title)') )
));
$pages = Model_pages::find('all', array(
'order_by' => array( \DB::expr('LOWER(title) ASC') )
));
$pages = Model_pages::find('all', array(
'order_by' => array( \DB::expr('LOWER(title)') => 'ASC' )
));