0

まず私のテーブル

製品のフォーマット/テンプレート データを最初のテーブルに保存しました。フォーマット/テンプレートは、多くの製品で使用できます。

Format meta table. Primary Key is format_id. (has some more other columns)
+-----------+-------+
| format_id | title |
+-----------+-------+
|     1     |  f.a  |
|     2     |  f.b  |
|     3     |  f.c  |
|     4     |  f.d  |
+-----------+-------+

2 番目のテーブルには、製品データを格納しています。すべての製品には固有の ID があり、固有のフォーマット/テンプレートを 1 つだけ使用します。このテーブルには、product_price、product_quantity などのデータが含まれています。各製品の詳細は、別のテーブルに保存されています。

Product meta table. Primary Key is product_id. (has some more other columns)
+-----------+------------+-------+
| format_id | product_id | title |
+-----------+------------+-------+
|     1     |      1     |  p.a  |
|     1     |      2     |  p.b  |
|     1     |      3     |  p.c  |
|     1     |      4     |  p.d  |
+-----------+------------+-------+

これは、製品の詳細を保存する最後のテーブルです。ここで、値は cell_id => 値のペアに格納されます。

Details table. No primary key. (has some more other columns)
+-----------+------------+---------+-------+
| format_id | product_id | cell_id | value |
+-----------+------------+---------+-------+
|     1     |      1     |    1    |  d.a  |
|     1     |      1     |    2    |  d.b  |
|     1     |      1     |    3    |  d.c  |
|     1     |      1     |    4    |  d.d  |
+-----------+------------+---------+-------+

今、私が望む結果

$result => ['format_meta']  => ['format_id'] = 1
                            => ['title']     = f.a

           ['product_meta'] => ['format_id']  = 1
                            => ['product_id'] = 1
                            => ['title']      = p.a

           ['details']      => [0]   => ['format_id']  = 1
                                     => ['product_id'] = 1
                                     => ['cell_id']    = 1
                                     => ['value']      = d.a

                            => [1]   => ['format_id']  = 1
                                     => ['product_id'] = 1
                                     => ['cell_id']    = 2
                                     => ['value']      = d.b

                            => [2]   => ['format_id']  = 1
                                     => ['product_id'] = 1
                                     => ['cell_id']    = 3
                                     => ['value']      = d.c

私はこれを行う方法について完全に無知です。

4

1 に答える 1