2011-07-06 6 views
2

여기 내 지식이 부족해서 미안하지만 저는 cakephp에 익숙하지 않습니다. 그리고 가장 기본적인 PHP를 작성한 후에는 결코 복잡한 일을 시도한 적이 없었습니다. 나는 나의 깊이에서 사랑하는 것을 배웠습니다.아마 세계에서 가장 기본적인 cakephp 질문입니다.

기본적으로 내 앱에는 프로필 페이지를 만들 수있는 사용자가 있습니다. 홈페이지를 클릭하면 양식이 표시된 화면이 표시됩니다. 입력은 사용자 모델의 사용자 이름, 전자 메일 및 암호가 될 것이며 프로필 이름의 일부인 프로파일 이름과 색을 입력하기를 원합니다.

그런 다음 제출하려면 클릭하고 물건을 내 users_controller 'register'작업에 제출하면 데이터베이스에 사용자가 저장됩니다. 그리고 모든 것이 잘 진행되면 자세한 내용을 입력 할 페이지로 리디렉션됩니다. 문제는 이전에 입력 한 영화 이름과 색상에 액세스해야하기 때문에 어떻게 처리해야하는지 잘 모르겠습니다.

사용자 정보를 저장하는 동시에 데이터베이스에 프로필을 저장해야합니까? 그렇다면 어떻게해야 users_controller에있을 수 있습니까?

별도의 화면에서 사용자 및 프로필 세부 정보를 요청할 수 있지만 사용자 이름을 선택하는 것과 동일한 화면에서 자신의 영화와 색상을 선택하기를 바랍니다. 또한 사용자 모델의 필름 이름과 색상 부분을 만들 필요가 없습니다.

답변

2

컨트롤러는 $uses을 사용하여 여러 모델에 액세스 할 수 있습니다.

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

다음은 정상적으로 액세스 할 수 있습니다.

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

그런 다음 사용자가 이미 입력 한 정보를 다시 확인하고 해당하는 경우 추가 필드를 입력 할 수있는 기회를 허용, 프로필 편집 페이지로 앞으로 다음이 시점에서 프로파일 데이터를 저장하고, 수 .

+0

와우, 빠른 답변이었습니다! 정보 주셔서 감사합니다. 나는 그것이 실제로 내 문제를 해결한다고 생각한다. –

+0

다시 불편을 드려 죄송하지만, 가입 화면에서 5 가지 입력이 모두 하나의 양식에 포함되기를 바란다. 그러나 그 행동이 보내질 데이터가 있음을 의미하지는 않는다. $ this-> data [ 'User'] [ 'color']와 같은 것을 가질 users_controller? 그 이후로 프로파일 모델의 일부가되어야 할 것 같지 않은가? 나는 당신이 의미하는 바를 알기를 바랍니다. –

+0

이 양식에서'User'와'Profile' 데이터를 아주 쉽게 분리 할 수 ​​있습니다. 예를 들어,'$ form-> input ("User.name"); 또는'$ form-> input ("Profile.colour");'형식으로 입력을 추가 할 수 있습니다. 이 데이터는'$ this-> data [ "User"]'또는'$ this-> data [ "Profile"]' –

관련 문제