我不明白为什么这不起作用。
我在 Laravel 中的 Post 和 Tag 两个模型之间存在多对多关系。
显示帖子时,我的刀片模板中有以下代码:
@if(!empty($page->tags))
@foreach($page->tags as $tag)
@if($loop->last)
{{$tag->name}}
@else
{{$tag->name}},
@endif
@foreach
@endif
但是,当帖子上没有标签时,它会抛出此错误:
未定义的偏移量:1
Illuminate\Foundation\Bootstrap\HandleExceptions::handleError
供应商/laravel/framework/src/Illuminate/View/Compilers/Concerns/CompilesLoops.php:95
如果我注释掉 foreach 循环,一切都很好。但由于 if 语句, foreach 循环不应该运行,但显然试图运行。我在 if 语句中也尝试了其他表达式,包括
@if(count($page->tags) > 0)
和
@if(null !== $page->tags)
似乎没有任何作用。我不知道如何优雅地处理标签的缺失。
如果我 dd($page->tags) 它显示它只是一个空数组,所以我不明白为什么这不起作用。
慕妹3146593