1 回答

TA貢獻1820條經(jīng)驗 獲得超9個贊
您沒有關(guān)閉您的@foreach,您使用了第二個。但請考慮以下信息!
@if(!empty($page->tags))
@foreach($page->tags as $tag)
@if($loop->last)
{{$tag->name}}
@else
{{$tag->name}},
@endif
@endforeach
@endif
*** 相關(guān)且可能對類似錯誤有用 **
這里的問題是您正在使用 $page->tags 獲取 Collection,并且它不會像您想象的那樣與 empty() 交互。
在 PHP 中:
$obj = (object) [];
empty($obj);
// returns false
Laravel Collection 是一個對象,因此即使 $page->tags 中沒有任何項目,您實際上也在做:
empty(collect())
// returns false
如果您可以保證 $page->tags 始終被設(shè)置,那么您可以使用收集方法:
@if($page->tags->isNotEmpty())
@endif
但是,如果有時 $page->tags 為空(即標簽未加載到頁面上),那么您可以使用:
@if(isset($page->tags))
@endif
綜上所述,如果 $page->tags 始終存在(已加載),則 @foreach 語法不應(yīng)出錯,因為 Collection 是可迭代的,并且相當于執(zhí)行foreach ([] as $item) {}.
- 1 回答
- 0 關(guān)注
- 159 瀏覽
添加回答
舉報