我有一個以美國城市爲特色的Rails應用程序。我正在開發一個數據庫流程,該流程將支持在網站上付費的企業。我們的目標是在距離城市一個小時的車程內爲企業提供特色服務,以便遊客瞭解可用信息。我的目標是按城市劃分城市的企業,然後展示下一個最接近的城市的企業。我希望城市能夠按距離列出,並且城市組內的企業將按照企業名稱列出。我可以使用不同表格中的兩列來訂購結果嗎?
我有兩張表,我想加入爲了完成這一點。
city (has_many :businesses) - name, distance
business (belongs_to :city) - name, city_id, other columns
我知道我可以做一些類似下面的聲明,它應該只顯示城市行的業務行存在的數據。
@businesses = City.order(「distance ASC").joins('JOIN businesses ON businesses.city_id = cities.id')
我想通過business.name添加訂單。我見過一個例子ORDER BY a.Date, p.title
,它引用了來自兩個數據庫的列。
ORDER BY a.Date, p.title
我可以將代碼添加到現有的聲明名稱訂購業務或我將不得不嵌入SQL代碼來做到這一點?我已經看到了其他數據庫的例子,但是答案不是Rails特定的,或者不使用PostgreSQL。
具有多個排序列的ORDER BY不是Postgres特定的。 'City.order(「distance ASC,business.name」)。joins(:business)'應該可以工作,你似乎沒有嘗試過它是否有效?!請在這裏詢問之前試試。 – Raffael
@Raffael我已經提交在過去幾年中,這個論壇有89個問題,我盡我所能去嘗試一些事情,並按照指導原則進行研究,如果我想出點什麼來嘗試,我會在發佈我的問題之前進行嘗試。沒有足夠的時間在線研究中考慮某些事情,但是你的解決方案沒有找到任何記錄,我會繼續使用我的代碼,並希望找到解決方案 –
我忘了在模型中包含關係是正確的數據存在於我的表格中當我顯示一個商務行時,正確的城市名稱出現在屏幕上 –