こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

cakePHPについて

現在、cakePHPを勉強しているのですが、分からなくて進めない箇所があり困っています。

ユーザーがフォームからデータを入力し、DBにデータを格納する際、フォーム項目にないデータを一緒に入力するためにはどうすればいいのか分かりません。

例)ユーザーフォーム入力欄
name
email
password



■DB側に格納したいデータ
id(AUTO_INCREMENT)
contact_id(問題箇所)
name
email
password
created
modified

現在、下記のようなコードになっているのですが、ご教授頂ければ幸いです。

■Controller/RequestController

public function index(){
if(!empty($this->request->data)){
if($this->request->data[$this->Request->alias]['confirmed']){
//保存実行
//成功時に画面遷移・失敗時にメッセージを表示
if($this->Request->saveAll($this->request->data)){
$this->Session->setFlash('お申し込み有難う御座います。新規依頼が完了しました。');
$this->redirect(array('action' => 'index','controller' => 'details'));
}else{
$this->request->data[$this->Request->alias]['confirmed'] == false;
$this->Session->setFlash('新規依頼に失敗しました。');
}
}else{
if($this->Request->saveAll($this->request->data, array('validate' => 'only'))){
//saveALLは値をまとめて保存するモデルメソッドだけど('validate' => 'only')にすることで
//保存処理を行わずにバリデーションのみを実行することができます
//入力データに問題がなかった場合は確認画面を呼び出し
$this->render('confirm');
}else{
$this->Session->setFlash('エラーがあります。入力内容をご確認下さい。');
}
}
}
}

投稿日時 - 2014-05-29 15:08:18

QNo.8615554

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

無理やりですが、こんな感じでrequestデータの配列に値を入れてやれば良いです。
$this->request->data["Request"]["contact_id"] = "123456";

投稿日時 - 2014-05-31 01:05:59

ANo.1

<input type="hidden">でフォームに用意しておいてはいかがですか。

投稿日時 - 2014-05-29 18:34:34

あなたにオススメの質問