私はモデルPost
を持っています。私はname
が'esa'
であり、次にupdated_at
で注文する最初の投稿を表示したいと思います。いくつかの値に基づいてRails default_scope
私はpost.rb
でこれを試みたが、動作しません:
default_scope {Post.where(name: 'esa') && order(updated_at: :desc) }
私はモデルPost
を持っています。私はname
が'esa'
であり、次にupdated_at
で注文する最初の投稿を表示したいと思います。いくつかの値に基づいてRails default_scope
私はpost.rb
でこれを試みたが、動作しません:
default_scope {Post.where(name: 'esa') && order(updated_at: :desc) }
が、ここにあります。
default_scope do
order("CASE WHEN name = 'esa' THEN 0 ELSE 1 END").order(updated_at: :desc)
end
これは、名前がesaで、他の投稿ではない投稿を表示しています。 –
@ Nda.Sこれはクエリーが動作する方法なので、あなたの条件に合った項目のコレクションを返します。 –
@AndreyDeineko私は最初の投稿を名前esaで表示したいと思っています。そして、他の投稿はupdated_atで注文しました –
'default_scope'はしばしば推奨されず、この使用法はさらに奇妙です。あなたは 'posts'テーブルへのすべてのリクエストをこのようにフィルタリングして注文したいと思っていますか? – ndn