rails5から追加になった「left_joins」を、条件と合わせて使いたいです。
例えば↓のようなSQLを発行したい場合、
SQL
1SELECT emp_name,plan 2FROM `employees` 3LEFT OUTER JOIN plans ON `plans`.`employee_id` = `employees`.`id` 4WHERE plans.date='2017-05-28';
↓Railsにて、これで取得できますが
Rails
1 2#現在日 3current_date = Date.today 4@emp_plans = Employee.left_joins(:plans).where(plans: { date: current_date }) 5
上記ではなく、
↓のようなSQL(join時の条件設定)を発行したい場合は、Rails側ではどのような記述になるでしょうか?
SQL
1SELECT emp_name,plan 2FROM `employees` 3LEFT OUTER JOIN plans ON `plans`.`employee_id` = `employees`.`id` 4AND plans.date='2017-05-28'; /* WHEREではなくAND */
どうぞ宜しくお願い致します。
【2017/05/29モデルを追記】
ruby
1class Employee < ApplicationRecord 2 has_many :plans 3 accepts_nested_attributes_for :plans, reject_if: :all_blank, allow_destroy: true 4end 5 6class Plan < ApplicationRecord 7 belongs_to :employee 8end 9

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/05/29 02:10
2017/05/29 02:54 編集
2017/05/29 07:15