Laravel删除集合中的第一个项目

imp*_*335 7 php laravel laravel-4

我想删除集合中的第一个项目:

unset($productData->images->first())
Run Code Online (Sandbox Code Playgroud)

以上不起作用.

我想要这个的原因是,以后当我做一个foreach时,第一个项目没有出来:

@foreach($productData->images as $images)
    <img class="product-thumb" src="/images/products/{{$images->src_thumb}}">
@endforeach
Run Code Online (Sandbox Code Playgroud)

如何才能做到这一点?

luk*_*ter 11

您可以使用shift()来获取和删除Laravel集合的第一项.
请参阅Illuminate\Support\Collection来源

这是一个例子:

$productData->images->shift();
Run Code Online (Sandbox Code Playgroud)

  • shift方法返回首先从集合项中删除的那个。不是集合。 (2认同)

Ale*_*pov 7

在 Laravel 5 中你可以使用slice()方法:

$collection = collect([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
$slice = $collection->slice(4); 

$slice->all();    // [5, 6, 7, 8, 9, 10]
Run Code Online (Sandbox Code Playgroud)


Kos*_*tyn 6

我愿意:

$first_key = $collection->keys()->first();
$collection = $collection->forget($first_key);
Run Code Online (Sandbox Code Playgroud)