保存belongsTo模型

时间:2012-07-26 09:22:54

标签: cakephp

我有2个型号:照片得分。每个Photo都应该有一个Score。因此,我将Photo设置为属于Score

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

scores表格有一个photo_id列。 (对于其photo id)

但是,有一个问题....如何保存photoscore

1 个答案:

答案 0 :(得分:0)

正如您在问题中提到的那样:“每个Photo应该有一个Score”。所以你必须改变你的照片模型。这看起来像是:

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

您必须使用该模型调用需要先保存的saveAll()方法。因此,其他关联模型可以获取新插入记录的值以作为外键处理。

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

您的请求数组($this->request->data)应如下所示:

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

This link会帮助你。如何保存关联数据。您也可以使用saveAssociated()方法。

我希望它对你有用。