これを出力するデータベースにこのテーブルがあります:
array(
(int) 0 => array(
'Price' => array(
'id' => '1',
'amount' => '20',
'price' => '180.00',
'type_id' => '1',
'active' => 'a'
)
),
(int) 1 => array(
'Price' => array(
'id' => '2',
'amount' => '30',
'price' => '232.50',
'type_id' => '1',
'active' => 'a'
)
),
...等々。
フォームに金額と価格を一緒に表示するドロップダウンが必要ですが (つまり、「20 @ 180.00」)、選択すると「id」フィールドが取得されます。
$prices という新しい配列を作り直したので、次のように出力されます...
array(
(int) 0 => array(
'id' => '1',
'amount' => '20',
'price' => '180.00',
'type_id' => '1',
'active' => 'a',
'display' => '20 @ 180.00'
),
(int) 1 => array(
'id' => '2',
'amount' => '30',
'price' => '232.50',
'type_id' => '1',
'active' => 'a',
'display' => '30 @ 232.50'
ただし、その配列が必要かどうかはわかりません。
しかし、主な問題は、「表示」フィールドを選択するためにフォームオプションに何を入力すればよいかわからないことです。
echo $this->Form->input('Project.quantity', array(
'options' => $prices[?????]['display']
));
単純に追加する
'options' => $prices
ドロップダウンに多くのものを表示します ( http://f.cl.ly/items/1e0X0m0D1f1c2o3K1n3h/Screen%20Shot%202013-05-08%20at%201.13.48%20PM.png )。
これを行うより良い方法はありますか?