私はいくつかのモデルを更新したい編集フォームを持っています。問題は、私のメインモデルであるUnits、belongsTo Location(1つのLocationがたくさんのユニットを持つことができるので)です。 cakephpのマニュアルでは、関連するモデルデータがメインモデルに属しているときにsaveAllをどのように保存するかについて説明しますが、逆の仕組みはありません。私が明らかに使用するコードは、Location.addressを更新しません。 edit.ctpからメインモデルが属しているモデルを編集する方法関連モデル?
:
<?php
echo $this->Form->create('Unit', array('url'=>array('action' =>'edit'));
echo $this->Form->input('unitnum', array('label' => 'Unit\'s Name/Number'));
echo $this->Form->input('Location.0.address');
echo $this->Form->end('Update Property');?>
そして、ここでは私のコントローラのコードです:
function edit($id) {
$this->Unit->id = $id;
if (empty($this->data)) {
$this->data = $this->Unit->read();
} else {
if ($this->Unit->saveAll($this->data)) {
$this->Session->setFlash('Your property has been updated.');
}
}
}
注:私も、エコーの$ this - >フォーム - >入力( '場所を使用しようとしました。住所');私のために自分のフィールドを美しく埋め込んでいますが、私がそれを変更してもロケーションアドレスは更新されません。
UPDATEは 私は自分のフォームを送信する際に、ケーキではなく、場所の住所を更新する、すべての新しい情報で新しい場所を追加することを発見しました!
第二UPDATE 私もケーキがRELATEDモデルデータのための新しいレコード(メインモデルbelongsToのこと)を保存する一方、更に、それはユニット(メインモデル)情報を更新しないことを発見しました。
私の周りを大騒ぎした後、私はこれを見つけました。私がケーキを手に入れようとしているような気がするたびに、私は振り返ってみると、それが早く見られないというばかげた気分になります。あなたの助けをもう一度ありがとう! – huzzah
アイデアはあなたが続けることです。私たちは皆、いつも脳の痙攣を起こす。アイデアを跳ね返す人がいるのは良いことです。ハッピーコーディング! –