【发布时间】:2019-07-29 11:14:56
【问题描述】:
我有一个名为Patents 的表。表值是:
id | person_id | status | date_submitted | date_approved
person_id(来自persons 表的fk)包含专利创建人的id。状态有 2 个值,即 1(待定)或 2(已批准)。我现在遇到的问题是我不能同时计算已批准的专利和创造专利的人的总专利。
控制器文件
$start = $request->input('start');
$end = $request->input('end');
$approvedPatents = DB::table('patents')
->select('person_id', DB::raw('count(*) as CountofApprovedPatents, status'))
->where([
['status', '=', 2],
['date_approved', '>=', $start],
['date_approved', '<=', $end],
])
->groupBy('person_id')
->orderBy('status', 'desc')
->get();
$totalPatents = DB::table('patents')
->select('person_id', DB::raw('count(*) as CountofPatents'))
->where([
['date_approved', '>=', $start],
['date_approved', '<=', $end],
])
->groupBy('person_id')
->orderBy('status', 'desc')
->get();
$patents = $approvedPatents->merge($totalPatents);
$results = $patents->all();
return view('admin.patents.showPatents', compact('results',
'start', 'end'));
刀片视图
<thead>
<tr>
<th>Person ID</th>
<th>Patents Approved</th>
<th>Total Patents</th>
</tr>
</thead>
<tbody>
@foreach($results as $result)
<tr>
<td>{{ $result->person_id }} </td>
<td>{{ $result->CountofApprovedPatents }} </td> //Error
<td>{{ $result->CountofPatents }} </td> //Error
</tr>
@endforeach
</tbody>
我可以显示$patent->CountofApprovedPatents,但不能显示其他选择。我真的需要帮助,我不知道如何获得 CountofPatents,因为我有 2 个单独的选择。我尝试为每个变量做一个 foreach ,但它显示双重结果,而不是在一行中编译。 $start 和 $end 变量只是确定这两个日期之间专利的日期。
【问题讨论】: