【问题标题】:Laravel Eloquent splitting query into arrayLaravel Eloquent 将查询拆分为数组
【发布时间】:2016-06-02 06:26:02
【问题描述】:

标题有点糟糕,不太清楚如何研究/描述我正在尝试做的事情。

我有一个名为规格的表格,其中包含字段

id, device_id, name, detail

两个不同设备的两行例如是

1, 1, weight, 300kg
2, 2, weight, 250kg

现在我需要显示它的方式是在一个表格中比较两个设备,基本上是这样的:

@foreach($specifications as $specification)
    <tr>
        <td>{{ $specification->name }}</td>
        <td>{{ $specification->detailOne }}</td>
        <td>{{ $specification->detailTwo }}</td>
    </tr>
@endforeach

我在获取正确的查询或拆分查询以便能够通过上述数组时遇到问题。有人介意让我有正确的心态吗?我是否要查询这两个规范并以某种方式将其放入我可以如上所述使用的数组中,还是我应该查看其他内容?

【问题讨论】:

    标签: php mysql arrays laravel eloquent


    【解决方案1】:

    这应该适合你

    @foreach($specifications->groupBy('name') as $name => $specificationGrouped)
        <tr>
            <td>{{ $name }}</td>
            @foreach($specificationGrouped as $specification)
                <td>{{ $specification['detail'] }} ({{ $specification['device_id'] }})</td>
            @endforeach
        </tr>
    @endforeach
    

    【讨论】:

    • 感谢 vnull,但这不适用于例如两种设备的 5 种不同规格。重量不是每个规格的唯一值(我的错)
    • Jamie000012 该解决方案适用于任何规范我将发布一个输出示例以及我如何测试它
    • 谢谢,当我测试它时,它会显示为: 体重 - 300kg 300cm 体重 - 250kg 250cm 应该是: 体重 - 300kg 250kg 身高 - 300cm 250cm
    • 我看过你的最新编辑,是的,这不是我的意思,因为我需要它这样出来:重量 - 250 公斤(电脑) 350 公斤(足球) 尺寸:40 厘米(电脑)
    • 更新检查。对不起,我首先理解了相反的事情
    猜你喜欢
    • 2018-10-20
    • 1970-01-01
    • 2016-02-18
    • 2020-10-03
    • 2016-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多