さまざまな関係タイプで複数のレコードを送信する機能に取り組んでいます。私が直面している主な問題は、配列の形式です。複数のリレーションシップのセットアップで saveAll() を機能させるには、モデルがキーであることがわかるように、配列をこの形式にする必要があります (下の最初の配列)。
私の主な質問は次のとおりです。1)下の2番目の配列の2番目のレイヤーから数値インデックスを取り除くことは可能ですか?
そのように入力フィールドを返しています。接頭辞付きのカウンターを見ることができます (これは、その第 2 レベルで数値インデックスを作成しているものだと思います)。
<?php echo $this->Form->input("$i.monthly_cost", array('label' => 'Monthly Cost')); ?>
フィールドに for ループ カウンターを使用しています。したがって、私の質問番号は次のとおりです。この値を Cake の saveAll() で動作するものに変更できますか?
<?php for ($i = 1; $i <= 2; $i++) { ?>
モデルがキーである例 (これは私が必要とする形式です):
Array
(
[User] => Array
(
[username] => billy
)
[Profile] => Array
(
[sex] => Male
[occupation] => Programmer
)
複数の入力配列で取得できる唯一の出力 (以下は debug() ダンプ)
私の実際の出力は数値的に索引付けされています:
Array
(
[Plan] => Array
(
[1] => Array
(
[plan_detail_id] => 36
[monthly_cost] => 0
[dental_cost] => 0
[age_id] => 14
[applicant_id] => 1
[state_id] => 1
)
[2] => Array
(
[plan_detail_id] => 36
[monthly_cost] => 0
[dental_cost] => 0
[age_id] => 2
[applicant_id] => 4
[state_id] => 1
)
)
[1] => Array
(
[1] => Array
(
[Zip] => Array
(
[0] => 487
[1] => 486
[2] => 485
[3] => 484
[4] => 483
)
)
)
[2] => Array
(
[2] => Array
(
[Zip] => Array
(
[0] => 485
[1] => 484
[2] => 483
)
)
)
)