0

私はどのカテゴリの仕事をしておりhas_many、どのカテゴリのビジネスを持っていますかhas_many

現在、仕事とビジネスの両方に 1 つのカテゴリのみを割り当てていますが、これは後で変更されるため、has_many 関連付けを作成しました。

ビジネスとジョブに割り当てられたカテゴリは、それらを一致させることを意図して、選択メニューで選択された同じカテゴリ テーブルからのものです。

仕事がある場合、その職種に一致するビジネスを見つけるにはどうすればよいですか。

例えば job = Job.find(1)

> job.categories.first.name
 => "programmer"

リストされているカテゴリを持つすべてのビジネスを検索したい場合、programmerどうすればよいですか?

これに似た結合またはインクルードが必要になると思いますが、これを正確にどのように記述すればよいかわかりません。

Business.includes(:categories).where(:categories == ...)

4

1 に答える 1

1

あなたのコードはほぼ正しいです。これはうまくいくはずです:

Business.joins(:categories).where(categories: {name: 'programmer'})

または、複数のカテゴリがある場合:

Business.joins(:categories).where(categories: {name: ['programmer', 'other']})
于 2012-11-29T04:46:54.987 に答える