我有这个设计:
我需要说:我添加的最后一个帖子放在设计的头,然后其他帖子放下。
我闭嘴:) HTML和foreach代码:
@if ($user->projects->count() > 0)
<section class="latest section shadow-sm">
<h1>Projects</h1>
<div class="section-inner">
@foreach ($user->projects->sortByDesc('id')->take(1) as $project)
<div class="item featured text-center ">
// head post
</div>
@endforeach
@foreach ($projects_last->sortByDesc('id') as $project)
<div class="item row">
// other post
</div>
@endforeach
</div><!--//section-inner-->
</section><!--//section-->
@endif
控制器代码$projects_last
:
$projects_last = $user->projects;
$projects_last->pop();
return view('frontend.user_profile',compact('user','projects_last'));
我说如果@if ($user->projects->count() > 0)
不显示任何东西但仍然显示给我,<h1>Projects</h1>
即使它是空的,我也有问题!
如果您有任何建议使我的代码更好,请多谢:)
要迭代,Collections
您必须获取它们。因此,您必须使用它get()
来获得结果。
...
@foreach ($user->projects->sortByDesc('id')->take(1)->get() as $project)
...
和
...
@foreach ($projects_last->sortByDesc('id')->get() as $project)
...
您可以在此处查看文档:Laravel查询文档
注意:如果只想在第一个foreach
循环中获得一个元素,则可以使用first()
代替take(1)
。您的代码将像这样:
@php($first_project = $user->projects->sortByDesc('id')->first())
@if (!is_null($first_project))
// Use $first_project as $project variable
@enif
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句