【问题标题】:Fetch data form pivot tables with one query using laravel eloquent使用 laravel eloquent 通过一个查询从数据透视表中获取数据
【发布时间】:2016-11-11 11:48:54
【问题描述】:

一次查询获取第三张表数据的最佳方法是什么。

User   :   id | name    
Event  :   id | user_id  
Likes  :   id | user_id | event_id

Here is my  Eloquent Query

$events = Event::with('likes','users')->get();

return view('events',compact('events'));

In views i am iterating over all events like this,
User has multiple events as well as multiple likes in relation model.


@foreach($events as $event)

 {{ $event->name }}
 {{ $like_id }} //show like id if it is liked by the user

     // I have to execute another loop only to check if it is liked or not 
      @foreach($row->likes as $like)

             @if(Auth::id() == $like->user_id)
                   Liked
             @endif
      @endforeach

@endforeach

现在我需要检查登录用户是否喜欢这个活动? 连同所有的事件,无论他们是否喜欢?

【问题讨论】:

    标签: laravel-5 eloquent pivot-table


    【解决方案1】:

    你可以试试:

    @foreach($events as $event)
    
        {{ $event->name }}
        {{ $event->likes->count() }}
    
        @if($event->likes->contains('user_id', Auth::id()))
             Liked
        @endif
    
    @endforeach
    

    【讨论】:

      猜你喜欢
      • 2018-11-11
      • 2015-06-24
      • 2015-09-30
      • 1970-01-01
      • 2020-11-09
      • 2019-09-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多