我正在为PHP-Laravel使用backpack-crud控制器 .
使用由backpack(库)提供的crudController,我所要做的就是使用Laravel Eloquent(也可以是原始sql)查询来查询它 .
比背包图库会自动为我打印列表视图 .
但我正在努力解决这个困难的问题 .
问题是我有4列,
session_id | column_id | batch | data
10 | 1 | 1 | data1
10 | 2 | 1 | data2
10 | 1 | 2 | data1*
10 | 2 | 2 | data2*
假设这是我的数据 . 我希望通过session_id,批处理和按行column_id排序显示此分组 .
所以结果查询会是这样的
1 : data1 data2
2 : data1* data2*
如果有第三批数据
session_id | column_id | batch | data
10 | 1 | 3 | data1**
然后它会出现在第三批下面
3 : data1**
我可以使用代码但不能使用sql .
任何建议都会感激不尽 .
1 回答
这看起来像是SQL Server中的PIVOT . 不幸的是mysql没有这个功能 .
我可以使用
GROUP_CONCAT
给你一个近似的原始mysql查询 . 假设您的表名是mytable
.然后你可以使用给定的分隔符拆分别名的
dataList
列(这里我使用了,
) . 您可以根据需要根据data
列中包含的数据更改分隔符 .希望这对你有所帮助 .