2 つのテーブル間に HABTM 関係があります:items
とlocations
、テーブルを使用してitems_locations
それらを結合します。
items_locations
また、もう少し多くの情報を保存します。これがスキーマです
items_locations(id, location_id, item_id, quantity)
すべてのアイテムを 1 つの場所に表示し、ユーザーがデータグリッド スタイルのインターフェイスを介して一度に複数のフィールドを編集できるページを作成しようとしています。
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 .. */)
)
)