従業員テーブルのインデックスページには - id, due_date, employee_full_name, company_name
の4つの検索フィールドがあります。ここで外部キーを使用して親テーブルと一緒にテーブルフィールドを検索
は、search_parameters
に、私は、検索パラメータが
search_parameters =
{:id => params[:id], :due_date => params[:due_date],
:employee_full_name => params[:employee_full_name]}
.select { |key,value| value.present?}
存在している場合、私は、Employeeテーブルの列を探していますし、それはここで私は「COMPANY_NAMEを探しています
@employees_search = Employee
.where(search_parameters, params[:id].to_i, params[:due_date],
params[:employee_full_name])
を正常に動作しているチェックしています'を外部テーブルとしてcompany_id
のCompanyテーブルから取得します。これもうまくいきます。
@company_search = Employee
.where(company_id: Company
.where(company_name: params[:company_name]))
しかし、上記の2つのクエリを組み合わせて、4つのフィールドをすべて検索できるようにする必要があります。やや下のコードのように。
@employees_search = Employee
.where(search_parameters, params[:id].to_i, params[:due_date],
params[:employee_full_name],
company_id: Company
.where(company_name: params[:company_name]))
上記のクエリは、結果を結合したものではなく、従業員テーブルの検索結果を提供するだけです。クエリで何が問題になっていますか?