我的数据库中有这张表,它输出以下内容:
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'
)
),
...等等。
I need a drop down in my form that displays the amount and price together (ie. "20 @ 180.00"), but when selected, gets the "id" field.
我重新设计了一个名为 $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)。
有没有更好的方法来做到这一点?