CakePHPのedit機能が上手くいかない!!
はじめまして!
CakePHPのedit機能を利用して、プロフィールの編集画面を実装しようとしている者です。
以下のコードを使用すると、
①編集画面に、既に登録されている名前やメリット等の情報が出てこない。
②保存をすると、ユーザーid(user_id)が「0」になってしまい、本来のユーザーidが格納されない。
普通のeditコードと違う点は、編集するidデータをAuthコンポーネントから利用している点のみです。
どうすれば正常に機能出来るでしょうか?
是非ご指導のほどよろしくお願い申し上げます。
//ProfilesController.php
public function edit() {
$user = AuthComponent::user('id');
$this->Profile->user_id = $user;
if ($this->request->is('get')) {
$this->request->data = $this->Profile->read(); //①編集画面に、既に登録されている名前やメリット等の情報が出てこない
} else {
if ($this->Profile->save($this->request->data)) { //②保存をすると、ユーザーid(user_id)が「0」になってしまい、本来のユーザーidが格納されない。
$this->Session->setFlash('Success!');
$this->redirect(array('action'=>'index'));
} else {
$this->Session->setFlash('Failed!');
}
}
}
//edit.ctp
<?php
echo $this->Form->create('Profile', array('action'=>'edit'));
echo $this->Form->input('name');
echo $this->Form->input('merit');
echo $this->Form->input('career');
echo $this->Form->end('保存');
?>