2016-02-29 43 views
0

基本上,我有一個包含多本書籍,作者和到達日期的迷你圖書館。Laravel查詢生成器:從每個組中獲取一個項目

| Book | Author | Arrived | For Sale | 
| ---------- | ---------- | ------------| -------- | 
| HPotter V1 | Rowling | 2010-01-01 | Yes  | 
| HPotter V2 | Rowling | 2010-02-01 | Yes  | 
| S.Trek. V1 | Anonymous | 2010-01-01 | No  | 
| LotR. V1 | Tolkien | 2010-02-01 | Yes  | 
| LotR. V2 | Tolkien | 2010-03-01 | Yes  | 
| LotR. V3 | Tolkien | 2010-04-01 | Yes  | 
| LotR. V4 | Tolkien | 2010-05-01 | Yes  | 
| 50Shad. V1 | Satan  | 2010-06-01 | No  | 
| Twilight 1 | Satan  | 2010-07-01 | No  | 

基本上我需要只得到一本書出售抵達日期爲集團。這意味着,我必須讓一本書的每個日期:

  • 2010-01-01
  • 2010-02-01
  • 2010-03-01
  • 2010-04-01
  • 2010-05-01

最後的兩本書是不賣的,所以他們不應該採摘 - 我知道它可以用一個簡單的->where('For Sale', 'Yes')進行過濾。

主要想法是將所有內容都推送到數據庫,而不是獲取整個列表(它有點大)並在Laravel下進行操作。

+0

任何隨機的一個會做什麼?您可以爲此使用TOP 1運營商 – Chendur

+0

是的,任何隨機的。如何在口頭禪中使用TOP 1? – DarkGhostHunter

回答

1

檢查,如果這是你在找什麼:

Book::where('For Sale', 'Yes')->groupBy('Arrived')->get(); 

希望它可以幫助...

+0

由於某種原因,它可以從每個組中獲得一個。現在我很好奇,爲什麼呢? – DarkGhostHunter

+0

這是我朋友的另一個好問題! :) – Laerte