我在两个表之间有一个 HABTM 关系:items
并且locations
,使用该表items_locations
来连接它们。
items_locations
还存储了更多信息。这是架构
items_locations(id, location_id, item_id, quantity)
我正在尝试构建一个页面,该页面在一个位置显示所有项目,并让用户通过数据网格样式界面一次编辑多个字段:
Location: Factory XYZ
___________________________
|___Item____|___Quantity___|
| Widget | 3 |
| Sprocket | 1 |
| Doohickey | 15 |
----------------------------
为了解决这个问题,我有一个名为的控制器InventoryController
,它具有:
var $uses = array('Item', 'Location'); // should I add 'ItemsLocation' ?
如何构建多维表单来编辑这些数据?
编辑:
我试图让我的数据看起来像下面 Deceze 描述的那样,但我又遇到了问题......
// inventory_controller.php
function edit($locationId) {
$this->data = $this->Item->ItemsLocation->find(
'all',
array(
"conditions" => array("location_id" => $locationId)
)
);
当我这样做时,$this->data
结果如下:
Array (
[0] => Array (
[ItemsLocation] => Array (
[id] => 16
[location_id] => 1
[item_id] => 1
[quantity] => 5
)
)
[1] => Array (
[ItemsLocation] => Array (/* .. etc .. */)
)
)