2010-02-10 118 views
0

我有幾個模型,都帶有適當命名的模型文件。cakePHP,模型遞歸

$this->Property->PropertyImage->Image->read(); 

全部相應鏈接。問題是,遞歸模型無法附加到所有關係上,並且出於某種原因正在返回AppModel數據類型,當我在$this->PropertyImage上執行var_dump時。當我做var_dump($this->Property);我得到的數據類型:Property

這裏發生了什麼,這會發生什麼?另外我該如何解決這個問題?

回答

0

您是否在應用程序中使用了PropertyImage型號,或者它是否是HABTM關聯?如果你的Property有一個擁有許多圖片的屬性,你需要在數據庫中使用一個數據透視表(properties_images),但是如果要從PropertiesController訪問Image模型,你會在$this->Property->Image之間沒有任何東西。

0

基於Marko所說的話,如果您有HABTM關係,您最好的選擇是使用連接表properties_images。

然後,而不是做一個Property-> PropertyImage-> Image,你只需要做一個Property-> Image-> read/find()。

我對HABTM關係不瞭解的是如何根據相關模型中的條件進行過濾。例如,你可以這樣做:

$this->Property->Image->find('all', array('conditions' => array('Image.id' => 7))); 

相反,你必須將中可容納的行爲添加到屬性模型,截至http://book.cakephp.org/view/474/Containable手冊中描述。