gpt4 book ai didi

mysql - 数据表 - 从不同的 Laravel 查询创建每一列

转载 作者:行者123 更新时间:2023-11-30 21:30:51 25 4
gpt4 key购买 nike

我需要什么

我需要能够从 3 个不同的查询中填充数据表。它基本上是来自单个 MySql 表的数据透视表,但我没有为每一行创建一个手动数据透视表以进行分组的共同点。

我的表格基本上是这样的:

id  |  environment_id  |  |  date  
1 | 1 | Date1
2 | 1 | Date2
3 | 2 | Date3
4 | 2 | Date4
5 | 3 | Date5
6 | 3 | Date6

我需要的是将其提取为数据表可以放入以下格式的格式:

environment_id 1  |  environment_id 2 |  environment_id 3  
Date 1 | Date 3 | Date 5
Date 2 | Date 4 | Date 6

我尝试过的

我尝试从 MySql 制作一个手动数据透视表,但由于没有公共(public)列可用于分组,最终每行一次只填充 1 列,在表输出中留下很大的空白。

我目前认为我需要运行 3 个查询,每个 environment_id 1 个,并以某种方式将它们连接到一个数组/集合中,我可以用它来填充数据表。然而,这被证明是困难的,如果可能的话,我无法理解它是如何工作的。

最佳答案

早上好

您确定 groupBy('environment_id')->get() 不能满足您的需求吗?因为您正试图实现数据表的异常行为。每个信息都应该配对或获得一个标识符值。

选项:

答:执行单个查询并将它们推送到一个数组中。

$envArray = [];
foreach ($environment_ids as $id){
$envArray.push(Environment::where('environment_id','=',$id)->get());
}

乙:通过 ERM Eloquent 定义关系并在使用 with('dates') 查询时调用关系,因此称为 Eager Loading .

A或B建表时需要分别为每个environment_id调用数组内部的数组。

<table>
<thead>
@foreach ($arrays as $array)
<th>Environment ID {{$loop->iteration+1}}</th>
@endofreach
</thead>
<tbody>
@foreach ($theLongestArray as $rowindex)
<tr>
@foreach ($arrays as $array)
<td>if ($array[$rowindex]!=null){{$array[$rowindex]}}</td>
@endofreach
</tr>
@endofreach
</tbody>
</table>

关于mysql - 数据表 - 从不同的 Laravel 查询创建每一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56259478/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com