2011-10-10 48 views
-1

爲什麼蛋糕PHP框架沒有在這個例子中爲什麼蛋糕PHP框架不能識別真正的語法,在這個例子中

  1. 用戶具有識別真語法許多照片

  2. 照片所屬的用戶

用戶模型

var $hasMany = array('Photo' => array('className' => 'Photo', 'foreignKey' => 'user_id'); 

在照片模式

var $belongsTo = array('user' => array('className' => 'User', 'foreignKey' => 'user_id', 'conditions' => '', 'fields' => '', 'order' => ''), 'PhotoAlbum' => array('className' => 'PhotoAlbum', 'foreignKey' => 'photo_album_id', 'conditions' => '', 'fields' => '', 'order' => '',)) 
在照片控制器

,在添加動作蛋糕生成的代碼:

$this->Photo->User->find('all'); 

但真實的代碼是:

$this->Photo->user->find('all'); 

意味着用戶屬性應大寫但蛋糕不認識和烘焙虛假代碼。

+2

在每一個應用程序的蛋糕我每天用,工作'$這個 - >光電>用戶 - >找到( '所有');'是正確的例子。你爲什麼說「真正的代碼」應該是'$ this-> Photo-> user'? – Ross

+0

,因爲通過正確的示例蛋糕顯示此錯誤 未定義的屬性:用戶:: $照片[APP \ controllers \ students_Photo.php,第29行] – aya

+0

您的控制器名稱不符合蛋糕慣例..您應澄清併發布更多相關的代碼。 – Ross

回答

0

此外 - 問題不是蛋糕。問題是你有一個var $ name =「user」;在你的用戶模型中。

正確地命名您的模型與蛋糕約定,這不會發生。當你不遵循約定時,你會遇到框架問題。正確的解決方案是閱讀手冊,而不是在這裏貼出幾乎毫無價值的調試信息。

+0

我不寫代碼 這段代碼是烤蛋糕烤 – aya

0

嘗試設置$ uses var。在你的情況在photos_controller:

$var uses = array('User'); 
0

我發現,當發生我的問題,當我在課堂上使用協會和我在照片模式的

var $belongsTo = array('user' => array('className' => 'User', 'foreignKey' => user_id', 'conditions' => '', 'fields' => '', 'order' => ''), 'PhotoAlbum' => array('className' => 'PhotoAlbum', 'foreignKey' => 'photo_album_id', 'conditions' => '', 'fields' => '', 'order' => '',)) 

但用戶代碼使用大寫名稱的用戶是真正用在拼寫(此錯誤發生用戶

var $belongsTo = array('User' ...