[英]Laravel pivoting data in a view
我有以下两个表:
Items
id
name
Values
id
item_id
value_date
value
Items上的关系是hasMany(Value :: class),而Values上的关系是belongsTo(Item :: class)。 我想在视图中显示这样的数据:
--------------------------------------------------------------------
| Item Name 1 | Item Name 2 | Item Name 3 | Item Name 3 |
--------------------------------------------------------------------
01/01/2017 | Value | Value | Value | Value |
--------------------------------------------------------------------
01/02/2017 | Value | Value | Value | Value |
--------------------------------------------------------------------
01/03/2017 | Value | Value | Value | Value |
--------------------------------------------------------------------
01/04/2017 | Value | Value | Value | Value |
--------------------------------------------------------------------
01/05/2017 | Value | Value | Value | Value |
--------------------------------------------------------------------
我想我需要添加以下数据透视表来完成此任务:
Dates
id
date
item_id
value_id
但我的问题是如何获取Item名称来构建标题行? 我复杂化了吗?
如果你有多对多的关系,你需要一个数据透视表,这不是这里的情况。
您可以使用预先加载 :
// Get ALL the Items, with their Values, ordered by Values.date
$items = Items::with(['values' => function ($query) {
$query->orderBy('date', 'asc');
}])->get();
foreach ($items as $item) {
// Item data
var_dump($item->id);
var_dump($item->name);
// Values data (per Item)
foreach ($item->values as $value) {
var_dump($value->value);
var_dump($value->date);
}
}
然后就是在你看来安排它的问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.