php - 从数据库中获取数据作为数组

标签 php mysql database

我有两个表-

表格拼贴 - [id, name]

表格产品 - [id, name, collage_id]

我想获取所有具有相关 collage_id 的产品的拼贴

这是我的代码

 $collages = Collages::all();

  foreach($collages as $collage){
    $collage['products'] = Product::getByCollageId($collage['id']);
  }

这是输出 -

 Array
(
[id] => 12
[collage_name] => frida_calo.jpeg
[products] => Array
    (
        [0] => Array
            (
                [id] => 11
                [name] => couch
                [collage_id] => 12
            )

    )

 )

似乎每次迭代下一个产品都会删除上一个产品。 如何获取数组中的所有产品?

最佳答案

改变

foreach($collages as $collage)

foreach($collages as &$collage)

reference operator -- =& -- 将确保您在 foreach 循环中使用实际的 $collage,而不是在您移动到下一个循环迭代。

关于php - 从数据库中获取数据作为数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45845702/

相关文章:

php copy() 使速度更快

php - 原则 2 - 在用户未登录的情况下更新用户密码

php - 无法使用 codeigniter php 更新数据库中选定的框值

PHP 和 Mysql - 如何让我的登录系统与我的数据库一起工作?

database - 如何为 Web 应用程序 GUI 测试分离数据库依赖性

PHP SimpleXML - 多个同名的 child

php - mysql查询插入问题

mysql - MySQL 中出现错误 1054

MySQL:以 GROUP_CONCAT 的结果为条件?

SQL - SELECT MAX() 和伴随字段