CodeIgniter の初心者です。
Pizza テーブルと Ingredients テーブルのモデルを作成しました。テーブルは、追加の Pizza_Ingredients テーブルによって結合されます (多対多の関係)。
私のモデル:
<?php
class Pizza extends DataMapper {
var $table = 'Pizza';
var $has_many =
array(
'ingredients' =>
array(
'class' => 'ingredients',
'join_table' => 'pizza_ingredients'
)
);
}
class Ingredients extends DataMapper {
var $table = 'Ingredients';
var $has_many =
array(
'pizza' =>
array(
'class' => 'pizza',
'join_table' => 'pizza_ingredients'
)
);
}
?>
そのコードを使用してデータを取得すると:
$pm = new Pizza();
$pm->include_related('ingredients');
$array = $pm->get();
ピザの値が重複している配列を取得しています(SQLクエリの結果のように見えます)。
margherita | cheese
vegetariana | vegetable 1
vegetariana | vegetable 2
このような配列の「foreach」でhtmlテーブルを単純に生成することはできません。
次のような構造を持つオブジェクトを取得したい:
margherita:
- cheese
vegetariana:
- vegetable 1
- vegetable 2
これにより、「ピザループ」内で他の foreach ループ (食材を含む) を使用して foreach ループ (ピザを含む) を作成できます。
これを PHP で書かなければなりませんか、それとも CodeIgniter/DataMapper が私のために何かできるでしょうか?
何かアドバイス?