联接以在查询生成器laravel中显示特殊数据 [英] Join to display spesific data in query builder laravel
问题描述
假设我的数据库中有2个表
Let's say I have 2 table in database
在laravel中,我使用了这样的查询生成器
In laravel I used query builder like this
DB::table('chart')->join('chart_detail', 'chart.id', '=', 'chart_detail.id_cart')->get();
结果是这样的:
这不是我想要显示的数据,因为冗余过多
我想显示这样的数据:
It's not what I want to display data, because too much redundancy
I want to display data like this:
我在加入sql命令时哪里错了?
Where I'm wrong in join sql command?
推荐答案
这不是您可以完全对查询执行的操作...在前端,可以通过执行以下操作将其分组在一起(更好地使用一个客户ID(如果有的话):
This is not something you can do with your query exactly... on your front-end you can group it together by doing something like this (better to use a customer id if you have one):
$data = [];
foreach ($result as $row) {
if (!isset($data[ $row['nama_customer'] ])) {
$data[ $row['nama_customer'] ] = [];
}
$data[ $row['nama_customer'] ][] = $row;
}
var_dump($data);
然后,当呈现HTML时,您可以通过在<tr>
标记上设置行跨度来将其分组在一起.
Then when you render your HTML you have enough information to group it together by setting rowspan on your <tr>
tag.
这篇关于联接以在查询生成器laravel中显示特殊数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!