繁体   English   中英

基于某些列值拆分foreach循环

[英]split foreach loop based on some column value

我有一个列名称类型的表,如何在一个查询中显示基于其列值的结果?

Tags
id|name|type    //type can be fixed,price

Tag::orderBy('id', 'desc')->get();

现在我想显示价格并固定在两个不同的部分。什么是最好的方法。

我可以通过以下查询来做到这一点,但我正在寻找最佳方法,可能只需一次查询。

Tag::where('type','fixed')->orderBy('id', 'desc')->get();
Tag::where('type','price')->orderBy('id', 'desc')->get();

您的查询应该是这样的:

$tags = Tag::orderBy('id', 'desc')->groupBy('type')->get();

你的foreach循环应如下所示:

    @foreach ($tags as $tag) 
        @if($tag->fixed)
            // do smth
        @else 
             //do smth

        @endif
   @endforeach

我可能有错误的结束,你可能意味着你想在控制器中执行逻辑并根据结果返回不同的视图,但是,我会在一个查询中返回所有内容,就像你已经完成的那样

Tag::orderBy('id', 'desc')->get();

@include blade指令包含一个附加参数,该参数是您传递给此partial的数据:

@include('view.name', ['some' => 'data'])

有关@include指令的更多信息可以在文档中找到

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM