2015-05-30 121 views
15

我有訂單和產品型號。
"Order"的hasMany產品(和產品屬於關聯訂單)...Laravel雄辯如何獲得第二或第三個記錄?

比方說,我想顯示的3個款產品我的訂單,該怎麼辦?
我知道第一個可以檢索像$order->products->first() ...但如何檢索第二個和第三個產品?

我試圖$order->products->find(1)但「1」代表產品......這是我不想知道的ID ...

回答

20

我終於找到了解決辦法,這是正確的語法:

$order->products->get(0)->name; will return the first record 
$order->products->get(1)->name; will return the second record 
$order->products->get(2)->name; will return the third record 

等等......

1

你可以簡單地嘗試這個辦法:

$order->products->take(3)->get(); 
+0

感謝kupendra,但它仍然沒有工作... – nadir

+0

例如,如果我需要的產品名稱,我試過$秩序 - >產品 - >取(3) - >得到( '姓名'); (我得到一個空結果),然後我嘗試$ order-> products-> take(3) - > get() - > name; (我得到一個錯誤「缺少參數」) – nadir

+0

試試這個'$ order-> products-> take(3) - > select('name') - > get()' – kupendra

14
$order->products()->skip(1)->first();//Second row 
$order->products()->skip(2)->first();//Third row 
.... 

比裝載所有產品,只得到第一,第二,ECC更高性能..

相關問題