テンプレートにフィールドを追加し続けるか、最終フィールドを投稿してからインデックス ページに移動するオプションを提供するページがあります。ユーザーがテンプレートを作成すると、フィールドが作成されます。はtemplate.id
入れられfield.template_id
ますが、ユーザーが別のフィールドを追加することを選択すると、失われfield.template_id
ます。
これが私の関数のコードです
function add($last=null){
$this->set('title_for_layout', 'Create Fields');
$this->set('stylesheet_used', 'homestyle');
$this->set('image_used', 'eBOXLogoHome.png');
$this->layout='home_layout';
//retrieve Account Id of current User
$accountid=$this->Auth->user('account_id');
$this->set('accountid', $accountid);
if($this->request->is('post'))
{
$this->Field->create();
if ($this->Field->save($this->request->data))
{
if($this->request->data['submit'] == "type_1")
{
$last=$this->Field->read('template_id');
$this->Session->setFlash('The field has been saved');
$this->redirect( array('controller' => 'fields','action' => 'add', $last));
}
if($this->request->data['submit'] == "type_2")
{
$this->Session->setFlash('The template has been saved');
$this->redirect( array('controller' => 'templates','action' => 'index'));
}
}
else
{
$this->Session->setFlash('The field could not be saved. Please, try again.');
}
}
$this->set('accounts', $accounts);
$this->set('last', $last);
}
}
私が抱えている問題は、ユーザーがクリックtype_1
してページをリロードしたときに、それをつかんtemplate_id
で挿入しないことですfield.template_id