1

我有 2 个模型:PhotoScore。每一个Photo,都应该有一个Score。所以我设置Photo属于Score

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

scores表有一photo_id列。(为其photo标识)

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

4

1 回答 1

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 ....
                    )
    )

此链接将为您提供帮助。如何保存关联数据。您还可以使用saveAssociated()方法。

我希望它对你有用。

于 2012-07-26T09:45:50.567 回答