所以我有一个功能:
public function checkTS(Request $request, $companyID)
{
$data = DiraQuestion::where('status', 0)->get();
return view('AltHr.Chatbot.checkTS', compact('data','companyID'));
}
从这里输出一个像:
的表格<table id="myTable" class="table table-striped">
<thead>
<tr>
<th></th>
<th>Entity Type</th>
<th>Entity Value</th>
<th>Synonym</th>
<th></th>
</tr>
</thead>
<tbody>
@foreach($data as $b)
<tr>
<td><input type="hidden" name="id" value="{{ $b->id }}" readonly></td>
<td>{{ucwords(strtok($b->eType, '_'))}}</td>
<td>{{ucwords($b->eVal)}}</td>
<td>{{ucwords($b->synonym)}}</td>
<td><a href="{{action('AltHr\Chatbot\ChatbotController@viewTS', [$companyID, $b->id, $b->eType, $b->eVal])}}" class="btn alt-btn alt-btn-black">View</a></td>
</tr>
@endforeach
</tbody>
</table>
从第一张图片中我可以看到我想要做的是将它们组合在一起,它具有相同的意图,eType,eVal来自数据库,所以不应该显示表中的所有值,它应该只显示1个值,即已经被相同的3个值组合在一起。我怎么能这样做?
答案 0 :(得分:1)
您必须在查询中使用group by。
public function checkTS(Request $request, $companyID)
{
$data = DiraQuestion::where('status', 0)
->groupBy('Your-cloumn')->get();
return view('AltHr.Chatbot.checkTS', compact('data','companyID'));
}
希望这有帮助
答案 1 :(得分:0)
您可以通过 groupBy('cloumn name')
对相同类型的值进行分组public function checkTS(Request $request, $companyID)
{
$data = DiraQuestion::where('status','=','0')
->groupBy('Your-cloumn')->get();
return view('AltHr.Chatbot.checkTS', compact('data','companyID'));
}
答案 2 :(得分:0)
尝试:
$data = DiraQuestion::where('status', 0)
->groupBy('intent', 'eType', eVal')
->get();
还要修正&{39; isn't in GROUP BY
&#39;:
的错误
在config/database.php
内mysql
设置中,将'strict'
的值更改为false:
'strict' => false,
这将在查询时删除ONLY_FULL_GROUP_BY
。