1

モジュールの 1 つが並べられるデフォルトの列を変更しました。今、私は特定の順序で表示されるようにしたいと考えています。view.list.php ファイルを作成し、それを custom/module/view フォルダーに配置しました。listViewPrepare() 関数をオーバーライドして列を選択すると、次のようになります。

 $_REQUEST['orderBy'] = 'table.column'; 

それは正常に動作します。コードを次のように変更すると:

$_REQUEST['orderBy'] = "FIELD(table.column, 'value1', 'value2', 'value3', 'value4', 'value5', 'value6', 'value7')"

まったく注文しません。mysql で order by ステートメントの構文を確認しましたが、そこで動作しますが、それを view.list.php に挿入すると動作しません。変数をエコーアウトしましたが、正しくそこにあります。なぜ機能しないのかわかりません。

ありがとうアレックス

4

2 に答える 2

1

これはあなたの構文です:最初の列に開始引用符と終了引用符がありません

$_REQUEST['orderBy'] = "FIELD(Contacts_cstm.file_status_c, 'NHSactive', 'Hands_Off',     'NHSsubmitted', 'NHSIncomplete', 'NHSCancelled', 'NHSComplete', 'NHSClosed')"; 

これが本来あるべき姿だと思います...試してみてください...また、 $query はあなたのselect文でなければなりません

$query.=" ORDER BY ".$_REQUEST['Contacts_cstm.file_status_c, 'NHSactive', 'Hands_Off',     'NHSsubmitted', 'NHSIncomplete', 'NHSCancelled', 'NHSComplete', 'NHSClosed'];
于 2012-06-25T20:12:06.520 に答える