sql >> データベース >  >> RDS >> PostgreSQL

ActiveRecord-各グループから最初のレコードを選択します

    most_recent_chat_received_from_connected_usersを呼び出す方法がわかりません 、これはConversationのインスタンスメソッドです Userのインスタンス上のクラス エラーは発生しませんが、会話モデルにカスタムファインダーを追加します:

    class Conversation < ActiveRecord::Base
      # ...
    
      def self.most_recent_for(user_id)
        select('DISTINCT ON (sender_id) *').where(reciever_id: user_id).order("sender_id, created_at DESC")
      end
    
      # For MySQL you could have used:
      #
      # def self.most_recent_for(user_id)
      #   where(reciever_id: user_id).group("sender_id").order("created_at DESC")
      # end
    
      # ...
    end
    

    これで、コントローラーで次のコマンドを使用して目的の会話を取得できます。

    @conversations = Conversation.most_recent_for(current_user.id)
    



    1. AWS Aurora MySQLサーバーレス:MySQLWorkbenchから接続する方法

    2. UDFおよびCLRを使用せずにT-SQLの文字列からすべての空白文字を削除する良い方法は何ですか?

    3. SQL Server Management Studio(SSMS)でWindowsおよびその他のタブのクエリをドッキング/ドッキング解除する方法-SQL Server/TSQLチュートリアルパート21

    4. ActiveRecordを使用してPostgres列のデフォルト値にアクセスするにはどうすればよいですか?