如果未在数据库中设置,返回变量为null的视图

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如果未在数据库中设置,返回变量为null的视图相关的知识,希望对你有一定的参考价值。

我有一个问题。如果数据库中没有记录,如何返回变量为null的视图。我知道返回$ variable?空值;但我需要一个视图。

public function shop_items($shelf)
{
    $shop_shelf = $this->getTreeItems(0);
    $shop_items = DB::table("shop_items")->where('shelf_id', $shelf)->get();
    return view('shop',compact('shop_items','shop_shelf'));
}

如果有记录,我得到$ shop_items的价值,但如果没有记录,则得到未定义的偏移量:0

edite:添加shop.blade

@if(isset($shop_shelf))
@foreach($shop_shelf as $ss)
    <ul>
        <li>{{$ss["title"]}}
            @if(is_array($ss["children"]))
                <ul>
                    @foreach($ss["children"] as $sc)
                        <li>
                            <a href="/shop/shelf/{{$sc["id"]}}">
                                {{$sc["title"]}}
                            </a>
                        </li>
                    @endforeach
                </ul>
            @endif
        </li>
    </ul>
@endforeach

enter image description here

无法发布所有代码,所以我放置了shop.blade图片

答案

您可以使用

@forelse($shop_shelf as $ss)
    <ul>
        <li>{{$ss["title"]}}
            @if(is_array($ss["children"]))
                <ul>
                    @foreach($ss["children"] as $sc)
                        <li>
                            <a href="/shop/shelf/{{$sc["id"]}}">
                                {{$sc["title"]}}
                            </a>
                        </li>
                    @endforeach
                </ul>
            @endif
        </li>
    </ul>
@empty
    <p>No data to display</p>
@endforelse

PS:在您有array的任何地方应用@forelse循环结构您的刀片

请参见docs

以上是关于如果未在数据库中设置,返回变量为null的视图的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 XCTest 测试一个 navigationBar 是不是未在 Objective-C 中设置为特定颜色?

Django AWS RDS 环境变量未在 Elastic Beanstalk 中设置

Barrier 未在约束布局中设置为 referenceIds?

JAVA_HOME 变量未在 Windows 中设置 [重复]

在代码中设置 IBOutlet 的 Auto Layout 约束

JavaScript window.location 未在请求标头中设置引用者