Mysql 联接以在查询生成器laravel中显示特定数据

Mysql 联接以在查询生成器laravel中显示特定数据,mysql,arrays,loops,laravel,laravel-4,Mysql,Arrays,Loops,Laravel,Laravel 4,假设数据库中有2个表 在laravel中,我使用了如下查询生成器 DB::table('chart')->join('chart_detail', 'chart.id', '=', 'chart_detail.id_cart')->get(); 结果是这样的: 这不是我想要显示的数据,因为太多冗余 我想显示如下数据: 我在join sql命令中哪里出错了?这不是您可以对查询执行的操作。。。在前端,您可以通过以下方式将其分组(如果您有客户id,最好使用客户id): 然后,当您

假设数据库中有2个表

在laravel中,我使用了如下查询生成器

DB::table('chart')->join('chart_detail', 'chart.id', '=', 'chart_detail.id_cart')->get();
结果是这样的:

这不是我想要显示的数据,因为太多冗余
我想显示如下数据:


我在join sql命令中哪里出错了?

这不是您可以对查询执行的操作。。。在前端,您可以通过以下方式将其分组(如果您有客户id,最好使用客户id):


然后,当您呈现HTML时,通过在
标记上设置rowspan,您有足够的信息将其分组。

这不是sqlproblem@Fabricator嗯,你能告诉我怎么解决吗?得到查询结果后,您可以在中进行合并PHP@Fabricator谢谢…我现在发现了它:DIt将有助于分享您如何在这里修复它。hm如何在
$data
中访问
nama_客户
…我尝试了类似这样的
$data[0]['nama_客户]
…如果只是
$data['nama_客户],则显示错误
未定义的偏移量:0
显示错误
未定义索引:nama_客户
执行
var_转储
检查内容。它是一个基于散列的数组,您可以通过客户名称访问它,例如,
var_dump($data['customer1'])
--重要提示:如果您更改代码以使用客户id作为密钥,则会更好,因为id号始终是唯一的。
$data = [];
foreach ($result as $row) {
    if (!isset($data[ $row['nama_customer'] ])) {
        $data[ $row['nama_customer'] ] = [];
    }
    $data[ $row['nama_customer'] ][] = $row;
}
var_dump($data);