如何过滤foreach的数据?

艾哈迈德

我有这个设计:

在此处输入图片说明

我需要说:我添加的最后一个帖子放在设计的头,然后其他帖子放下。

我闭嘴:) 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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章