1

私は2つのモデルを持っています:写真スコア。それぞれPhoto、が必要Scoreです。だから私Photoは所属するように設定しましたScore

class Photo extends AppModel {
    public $actsAs = array('Containable');
    public $belongsTo = array('Score');
}

scoresテーブルには列がありphoto_idます。(そのphotoIDの場合)

しかし、問題があります....保存する方法photoscore

4

1 に答える 1

0

あなたがあなたの質問で尋ねたようにPhotoScoreそのため、写真モデルを変更する必要があります。これは次のようになります。

class Photo extends AppModel {
      public $actsAs = array('Containable');
      public $hasOne = array('Score');
}

そのモデルを使用して、最初に保存する必要がある saveAll() メソッドを呼び出す必要があります。他の関連付けられたモデルが、新しく挿入されたレコードの値を取得して、外部キーとして扱うことができるようにします。

$this->Photo->saveAll($this->request->data, array('deep' => true));

リクエスト array( $this->request->data) は次のようになります。

Array(
    [Photo] => Array(
                      [img_name] = abc.jpg
                      [image_group] = cricket
                              ... other fields ...
                    )
    [Score] => Array(
                      [score_gain] => 10
                                  ... other fields ....
                    )
    )

このリンクが役に立ちます。関連データの保存方法。saveAssociated()メソッドを使用することもできます。

うまくいくことを願っています。

于 2012-07-26T09:45:50.567 に答える