2011-07-06 18 views
2

對不起我的知識的缺乏在這裏,但我是新來CakePHP的,雖然我已經寫了最基礎的PHP之前,我從來沒有試圖做任何接近複雜的東西,所以我沒有深度,但熱愛學習蛋糕。大概是世界上最基礎的CakePHP問題

基本上我的應用程序將有誰就能創建配置文件頁面的用戶。點擊主頁後,他們會看到一個帶有表格的屏幕。輸入將是用戶模型的用戶名,電子郵件和密碼,另外我希望他們輸入電影名稱和顏色,這將成爲配置文件模型的一部分。

然後,他們點擊提交和東西獲取提交給我的users_controller'註冊'行動,將用戶保存到數據庫等,如果一切順利,他們重定向到一個頁面,他們將輸入更多的細節。麻煩的是我需要訪問他們之前輸入的電影名稱和顏色,我不知道我應該如何處理。

我應該試圖在同一時間爲節省他們的用戶信息保存他們的個人資料到數據庫?如果是的話,我該怎麼做,因爲我會在users_controller?

我知道我可以要求在單獨的屏幕在用戶和配置文件的詳細信息,但我真的希望他們能夠選擇他們的電影和顏色相同的屏幕選擇自己的用戶名上。另外,我不希望有讓用戶模型

回答

2

控制器可以使用$uses訪問多個型號的電影名稱和顏色的一部分。

class UsersController extends AppController { 
    var $uses = array('User', 'Profile'); 
    ... 

然後可以像往常那樣訪問它們。

$this->Profile->save($this->data["Profile"]); 

然後,您可以在此點前進保存配置數據,然後到配置文件編輯頁面,讓用戶有機會仔細檢查,他們已經進入了細節,如果適用輸入任何附加字段。

+0

哇,這是一個快速反應!謝謝(你的)信息。我認爲這確實解決我的問題:) –

+0

很抱歉打擾你,但我的申請畫面上我當然希望所有五個輸入是一種形式,但是,就等於說會有發送到動作數據users_controller將有類似$ this-> data ['User'] ['color']?這似乎不正確,因爲這應該是個人資料模型的一部分?我希望你知道我的意思 –

+0

在表單中,你可以很容易地分開'User'和'Profile'數據。例如,您可以以「$ form-> input(」User.name「);'或'$ form-> input(」Profile.colour「);'格式添加輸入。這個數據可以通過'$ this-> data [「User」]或'$ this-> data [「Profile」]進行訪問。' –