まず私のテーブル
製品のフォーマット/テンプレート データを最初のテーブルに保存しました。フォーマット/テンプレートは、多くの製品で使用できます。
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
私はこれを行う方法について完全に無知です。