2012-07-26 122 views
1

我有2個型號:照片得分。每個Photo,應該有一個Score。所以我設置Photo屬於Score保存belongsTo模型

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

scores表有一個photo_id列。 (對於其photo ID)

但是,有一個問題....如何保存photoscore

回答

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()方法。

我希望它能爲你工作。