0

Rails 3アプリには2つのモデルがあり、人々とその住んでいる場所を説明するために使用しています。残念ながら、関連付けを使用せずにこれらを設定しました。

2つのテーブルはこのように設定されています

People
 id
 name
 location_id

Locations
  id
  name

私がやりたいのは、PeoplesテーブルのすべてのエントリをLocations.nameのアルファベット順とPeople.nameのアルファベット順にリストすることです。

このコードを使用して、場所ごとに各人をグループ化する簡単な並べ替えを行うことができますが、場所テーブルにもドリルダウンする必要があります

@people = People.all(:order => '"location_id" ASC, "name" ASC')

誰か考えがありますか?

また、Peopleクラスに、location_idがLocations.idであると言う関連付けを設定することをお勧めします。

4

1 に答える 1

4

追加

belongs_to :location

ピープルクラスへ

次に、次の方法でクエリを実行できます。

@people = People.joins(:location).order("locations.name ASC, people.name ASC")
于 2012-10-02T13:38:17.943 に答える