0

FirmaZnackaを形成する HABTM 関係にFirmaZnackaの2 つのモデルがあります。次のようなJavaScriptオートコンプリート機能を備えたフォームがあります。

echo $this->Form->input("Znacka.1.id");
echo $this->Form->input("Znacka.1.name");
echo $this->Form->input("Znacka.2.id");
echo $this->Form->input("Znacka.2.name");

ユーザーがフォームを送信したら、データを保存/更新/作成してアーカイブする必要があります。

  • ユーザーが入力したZnackaの名前が存在しない場合は、作成します (存在する場合は、新しく作成しないでください!)。
  • リレーション テーブル レコードの処理

提出されたデータは次のようになります$this->request->data

array(
    'Znacka' => array(
        0 => array(
          'id' => string '',
          'nazov' => string 'First'),
        1 => array(
          'id' => string '',
          'nazov' => string 'Second')
     )
)

Firmaの IDは既知であり、静的であり、によって設定され$this->Firma->id = $id;ます。コードは、デフォルトで Firma モデルをインポートした FirmyController で実行されます。フォームを使用して新しいデータを作成するだけでなく、既存のデータを更新しています。

The Cookbook からこれを見つけようとしましたが、結果はありませんでした。を使用して保存しようとしました$this->Firma->saveAssociated($this->request->data)が、他の保存機能も試しました。

すべての Znacka の名前を調べることでブルート フォース ソリューションがあることはわかっていますが、数十行のコードを使用しない優れた CakePHP ソリューションを探しています。

CakePHP 2.0 を使用しています。ご協力いただきありがとうございます。

4

0 に答える 0