Rails で、カテゴリのコレクションを作成してみましょう。
@categories = Category.order('name asc')
これらのカテゴリの 1 つに「新規」という名前があります。コレクションの最初に「New」カテゴリを置き、残りをアルファベット順にしたいと思います。
データベース クエリを 1 つだけ実行したいのですが。これはできるだけ簡潔にしたいと思います。
1 つのクエリ制限が設定されていない場合、"New" カテゴリをフェッチし、残りのカテゴリを名前順にフェッチし、新しいカテゴリを @categories コレクションに "シフト解除" できることはわかっていますが、より良い方法でなければなりません!
@new = Category.where(name: 'name').first
@categories = Category.where("name != ?", 'Name').order('name asc')
@categories.unshift(@new)
何か案は?