我有这个foreach,除了我当前添加的最后一个数据之外,我需要获取所有数据
我的foreach:
@foreach ($user->projects->sortByDesc('id')->except() as $porject)
// my data
@endforeach
项目是user
和projects
表之间的关系
答案 0 :(得分:2)
从您的代码开始,您可以使用take(n)
:
@foreach ($user->projects->sortByDesc('id')->take($user->projects->count() - 1) as $porject)
// my data
@endforeach
或者您可以使用$loop->last
并仅在不是最后一项时渲染:
@foreach ($user->projects->sortByDesc('id') as $porject)
@if (! $loop->last)
// my data
@endif
@endforeach
或者您可以将tap()
与pop()
(如@mrhnn所建议)一起使用:
@foreach (tap($user->projects->sortByDesc('id'))->pop() as $porject)
// my data
@endforeach
答案 1 :(得分:1)
您可以使用pop()集合method删除最后一个项目。我将在控制器中执行此操作,并与视图共享项目。
$projects = $user->projects()->orderBy('id')->get();
$projects->pop();
return view('view', compact('user', 'projects'))