如何在 Laravel 8 中获取集合实例以在 if 语句中使用?

问题描述

如何在 Laravel 8 中获取集合的实例?

如果该特定事件不存在 $event->like (CODE BELOW),我想做一个 if 语句 和一个 else 语句,我想执行下面的第二个 foreach。

控制器

    $events = Event::select('id','name','image','description','datetime','is_published')
        ->with('like:id,id_event,id_user,is_liked,created_at')
        ->with('like.user:id,name,surname')
        ->where('is_published',1)
        ->paginate(6);

查看

@foreach($events as $event)

//DATA

//here I want to implement a if statement if $event->like does not exists for that specific event 
//and else I want to execute the below foreach 

     @foreach($event->like as $like )

       //DATA2

     @endforeach

@endforeach

解决方法

如果我理解正确,您将需要检查 likes 计数 如果有 likes 所以迭代抛出它像这样

@foreach($events as $event)
     @if($event->like->count())

         @foreach($event->like as $like)

            //DATA2

         @endforeach
     @endif
@endforeach