执行查询后如何区分空收集和无数据收集

时间:2019-04-04 09:43:34

标签: laravel

我有两个查询,其中一个查询是在某个特定事件上执行的。 现在,我必须区分为空的集合(不执行查询)和不从数据库获取数据的集合。

public function dashboard()
{
    $owned = DB::table('eusers')
                ->join('tasks', 'eusers.id', '=', 'tasks.task_assign_to')
                ->where('tasks.task_assign_to', '=',$id)
                ->get();
    $filteredData = DB::table('tasks')
                ->join('eusers', 'eusers.id', '=', 'tasks.task_assign_to')
                ->where('tasks.task_status', '=', $filterKey)
                ->where('tasks.task_assign_to', '=', $id)
                ->get();
    return view('euser.dashboard', compact('owned', 'filteredData'));
}

现在我想要的是这样的东西:

<div class="row">
    @if(isset($filteredData))
      @foreach($filteredData as $data)
         //Some code here...
      @endforeach
    @else
      @foreach($owned as $data)
         //Some code here...
      @endforeach
    @endif
  </div>

注意:只有在$ filteredData中包含一些数据时,我才能得到结果。

1 个答案:

答案 0 :(得分:0)

添加不为空的条件,如下:

<div class="row">
@if(isset($filteredData) && !empty($filteredData->toArray()))
  @foreach($filteredData as $data)
     //Some code here...
  @endforeach
@else
  @foreach($owned as $data)
     //Some code here...
  @endforeach
@endif