首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Laravel检查是否存在任何相关记录

Laravel检查是否存在任何相关记录
EN

Stack Overflow用户
提问于 2016-09-09 16:31:59
回答 1查看 300关注 0票数 0

我有一个模型Category和一个模型Subcategory。这些都是相关的。

现在我想在一个视图中检查一个类别是否有子类别。如果是,则运行此代码,如果不是,则运行此代码。

我想到了像这样的东西

代码语言:javascript
运行
复制
 @forelse($categories as $category)
                            @if($category->subcategory)
                                <li class="sub-category">
                                    <a href="#"><img src="{{ asset('img/icon/'.$category->icon) }}" alt="{{ $category->name }}">{{ $category->name }}</a>
                                    <ul class="sub-menu clearfix">
                                        @foreach(isset($category->subcategory)) as $subcategory)
                                            <li class="sub-sec col-md-6">
                                                <ul>
                                                    <li><a href="#" class="title">{{ $subcategory->name }}</a></li>
                                                    <!--//
                                                    <li><a href="#"><i class="fa fa-angle-double-right"></i> Single Item 1</a></li>
                                                    <li><a href="#"><i class="fa fa-angle-double-right"></i> Single Item 2</a></li>
                                                    <li><a href="#"><i class="fa fa-angle-double-right"></i> Single Item 3</a></li>
                                                    <li><a href="#"><i class="fa fa-angle-double-right"></i> Single Item 4</a></li>
                                                    -->
                                                </ul>
                                            </li>
                                        @endforeach
                                    </ul>
                                </li>
                            @else
                                <li><a href="#"><img src="{{ asset('img/icon/'.$category->icon) }}" alt="{{ $category->name }}">{{ $category->name }}</a></li>
                            @endif

                        @empty

                        @endforelse

但是使用isset()似乎是错误的

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-09 16:42:13

有一种简单的方法可以做到这一点。只需使用子类别的计数来确定。

示例:

if ($category->subcategory()->count() > 0)

也许你还应该更改一些变量、方法和关系的名称。它使阅读变得容易得多。例如,您可以将子类别关系重命名为子类别,因为它将不止一个。

您的代码将如下所示:

代码语言:javascript
运行
复制
@forelse ($categories as $category)

    <li>

        <a href="...">{{ $category->name }}</a>

        @if ($category->subcategory()->count() > 0) // Check if more than one subcategory

            @foreach($category->subcategories as $subcategory) // Change $category->subcategory to $category->subcategories

                ...

            @endforeach

        @endif

    </li>

@empty

    No categories

@endforelse

希望这能有所帮助:)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39407201

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档