Laravel Eloquent如何获得第二或第三个记录?

nad*_*dir 22 laravel eloquent

我有订单和产品型号.
"Order"HasMany产品(和产品属于订单)......

假设我想显示订单的3个产品,怎么做?
我知道第一个可以检索$order->products->first()...但是如何检索第二个和第三个产品?

我试过,$order->products->find(1)但"1"代表产品的ID ......我不想知道......

Luc*_* C. 37

$order->products()->skip(1)->first();//Second row
$order->products()->skip(2)->first();//Third row
....
Run Code Online (Sandbox Code Playgroud)

比装载所有产品更高效,只获得第一,第二,ecc ..


nad*_*dir 32

我终于找到了解决方案,这是正确的语法:

 $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 
Run Code Online (Sandbox Code Playgroud)

等等...


小智 8

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

$order->products()->orderBy('salary','desc')->skip(1)->take(1)->first(); //Second highest salary row
$order->products()->orderBy('salary','desc')->skip(2)->take(1)->first(); //Third highest salary row
Run Code Online (Sandbox Code Playgroud)