1
(實際數字是100倍大,但它更容易解釋如下)軌3 +活動記錄:是有一個聰明的辦法來「循環」的記錄的順序
我們有一個記錄集的100評論5間餐廳。一些餐館有3或4評論,有些有20-30評論。
目前我有一個簡單的報告安排他們從最新到最舊:
@reviews = Review.joins(:store).
where('reviews.published= ?',true).
order("reviews.created_at DESC")
對於我的報告視圖中的一個,我需要顯示在確保每個餐廳輪轉順序審查得到平等覆蓋在列表頂部。
most recent for restaurant #A
most recent for restaurant #B
...
most recent for restaurant #E
然後重複下一個最近期#A,#B,...#E
等
理想情況下,循環的順序將是該餐廳最全面的評論。
在代碼中執行速度並不難,但我想知道是否有更快/更好的主動記錄方法?
===
有沒有一種辦法(一)排序餐廳,(二)建立一個臨時的「計數器」欄,從1計數到N爲每個餐廳的每個條目,(C)重在櫃檯列嗎?這將做到這一點。
例如,(a)之後和(b)的記錄將是
A , <some review>, 1
A , <some review>, 2
...
A , <some review>, 23
B , <some review>, 1
B , <some review>, 2
...
B , <some review>, 11
C , <some review>, 1
C , <some review>, 2
...
C , <some review>, 9
如果我可以然後那種櫃檯上記錄集,它會循環A,B,C等
有趣的想法,但仍然希望有一個聰明的按照問題中粗略描述的方式來實現sql計數器。真正的訣竅是我們使用will_paginate來分頁,並且每次點擊一個鏈接來重新調用查詢,這就打破了許多方案。 – jpwynn