从数据库

时间:2017-08-23 17:12:00

标签: 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
            )

    )

 )

似乎每次迭代下一个产品都会删除以前的产品。 如何获得阵列中的所有产品?

1 个答案:

答案 0 :(得分:0)

更改

foreach($collages as $collage)

foreach($collages as &$collage)

reference operator - =& - 将确保您使用foreach循环中的实际$collage,而不是一旦您丢失的副本转到下一个循环迭代。