gpt4 book ai didi

PHP Group by foreach 循环

转载 作者:行者123 更新时间:2023-11-28 23:21:36 27 4
gpt4 key购买 nike

在可视化如何为每个循环实现这一点时遇到一些问题,并且不确定去哪里进行澄清。

我有一个包含 3 个表的数据库:商品、商店、链接。

链接连接到商店和商品,商品和商店是单独的表,因此链接具有属于商店和属于商品的关系。

在显示两个特定项目的页面上,我要查找的最终结果是这样的:

Shop      | Item 1 | Item 2 - table headings
--------- | ------ | -------
Shop-name | Link | Link

试图进一步澄清我正在尝试做的事情:

Item[TABLE]
Item 1
Item 2

Shop[TABLE]
Shop 1
Shop 2

Links[TABLE]
Link 1 (belongs to item 1 and shop 1)
Link 2 (belongs to item 2 and shop 1)

页面:显示项目 1 和项目 2。

在此页面上从数据库查询所有链接,现在需要将它们分组,以便我将它们放在一个表中,按商店分组。这有意义吗?

关于如何得到这个结果有什么建议吗?我正在使用 Laravel、Eloquent 和 Blade。

最佳答案

听起来您并不是真的要代码,而只是关于如何执行此操作的一般概念。这是一种应该有效的方法,可能是我会尝试的方法。我将执行两个查询,第一个查询获取所有商品,然后一个查询将商店连接到链接(这样您就可以获取所有商店,以及与每个商店关联的任何链接。)

循环项目一次以生成列标题。然后,对于每个商店,再次遍历项目以生成商店行中的单元格。对于每件商品,如果商店有该商品的链接,则打印一个链接;如果商店没有该商品的链接,则打印一个空白单元格。这样,无论该商店是否有该商品,每个商店行中的每个商品都会有一个列。

伪代码:

<tr>
foreach items
print <th>item name</th>
</tr>

foreach shops
<tr>
<td>shop name</td>
foreach items
<td>if item has link in shop->links print link</td>
</tr>

至于如何进行 Eloquent 查询和其他细节,如果不进一步了解您已有的内容,很难给出一个真正的 PHP 代码示例,但希望这至少能说明您可以实现此目的的一种方法背后的想法.

我认为,因为理论上可能有一家商店没有商品,或者商品不在任何商店中,如果您想在数据库中执行所有这些操作,您需要像完全外部联接这样的东西,据我所知,MySQL 不会这样做。可能有其他方法可以实现它,如果有人更擅长数据库方面的东西有想法,我很想看到这样的答案。

关于PHP Group by foreach 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41369142/

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