2017-08-31 20 views
0
class JobPosition < AR 
    belongs_to :recruiter, class_name: 'User' 
end 

class User < AR 
    # first_name, last_name 
end 

リクルート(またはむしろユーザー)を多くの職位に割り当てることができます。私は各募集人に割り当てられている請求数を数えたいと思っています。これは簡単ですレコードを関連するレコードでグループ化して数えます。

JobPosition.group(:recruiter_id).count 

各募集者IDの数を返します。

{ 
    1 => 3, 
    2 => 5 
} 

は、しかし、私はリクルーターIDをたくないが、代わりに採用担当者のフルネーム

{ 
    "Peter Henry" => 3, 
    "Hugh Kavener" => 5 
} 

そうように私は、ユーザーがテーブル上のFULL_NAME列を持っていませんが、FIRST_NAMEとLAST_NAMEを持っています。

PGとActiveRecordを使用してこれを実現するにはどうすればよいですか?私は、メモリ内のアクティブなレコードオブジェクトを操作することに頼らない方がいいです。

答えて

0

あなたは少し余分なSQLを書くことでそれを行うことができ、私は次の構文は、PostgreSQLの動作するはずと信じて:

JobPosition.joins(:recruiters).group("user.first_name || ' ' || user.last_name").count 
関連する問題