# 背景
  とあるアプリの使い方(以降ヘルプと呼ぶ)をDBで管理しており、「カテゴリIDの昇順」かつ「オーダーNoの昇順」で表示されていました。
  機能が拡張されれば、もちろんヘルプの記事数は増え、カテゴリ数も増えていきます。
  カテゴリには「その他」が存在し、カテゴリIDが「14」で設定されていました。
+---------+-------------+-----------------------------------+----------+ | help_id | category_id | text |order_no | +---------+-------------+-----------------------------------+----------+ | 1 | 1 | xxxxxxxx | 1 | | 2 | 1 | xxxxxxxx | 2 | | 3 | 1 | xxxxxxxx | 3 | | 4 | 2 | xxxxxxxx | 1 | | 5 | 3 | xxxxxxxx | 1 | | 6 | 3 | xxxxxxxx | 2 | ... | 99 | 14 | xxxxxxxx | 1 | | 100 | 14 | xxxxxxxx | 2 | | 101 | 14 | xxxxxxxx | 3 | +---------+-------------+-----------------------------------+----------+ ・category_id = 1 → 登録方法 ・category_id = 2 → ログイン方法 ・category_id = 3 → 課金方法 ... ・category_id = 14 → その他
  さてこの状態で新しいカテゴリを追加する必要が出てきました。
  当然、カテゴリID「15」で新しいカテゴリが登録されます。
  するとヘルプページの並び順は、↓↓↓↓↓↓のようになります。
1. 登録方法 2. ログイン方法 3. 課金方法 ... 14. その他 15. 新しいカテゴリ
  その他が一番最後に表示されず、ちょっとダサいですよね・・・
  そもそも、「その他に14なんてID降るなよ」ってやった人に言いたいですけど、やってしまった事は仕方がないです。
  IDの降りなおしも検討しましたが、今回はSQLのorder byでカテゴリID「14」のものを強制的に最後にしました。
# 解決策
  # SQL
 SELECT * FROM help ORDER BY category_id = 14 asc, order_no asc;
 
  # Laravel
  Help::orderByRaw('category_id = 14 asc')->orderBy('order_no', 'asc')->get();
  
 1.  登録方法
 2.  ログイン方法
 3.  課金方法
   ...
 15. 新しいカテゴリ
 14. その他
画面にNoを表示する場合は、ソートしてください。