1

私の関数はビューのフォームに正しい値を入れますが、正しい値をデータベースに保存しません。データベースはaccounts_users.idNOTを保存しています。accounts_users.account_id私のコードは、人を入力する必要があるようaccounts_users.account_idです。フォームのドロップダウン ボックスに正しい情報が表示されます

機能を追加

function add(){

    $accounts=$this->User->AccountsUser->find('list', array(
'fields'=>array('id','account_id'),'conditions' => array(
'user_id' => $this->Auth->user('id'))));

    if($this->request->is('post')){
      $this->Template->create();

      if ($this->Template->save($this->request->data)) {
        $this->Session->setFlash('The template has been saved');
        $this->redirect( array('controller' => 'Fields','action' => 'add'));
      } else {
        $this->Session->setFlash('The template could not be saved. Please, try again.');
      }
    }

ここに追加ビューがあります

<?php
echo $this->Form->create('Template', array('action'=>'add'));
echo $this->Form->input('name',array('label'=>'Template Name: '));
echo $this->Form->input('account_id',array('label'=>'Business: ', 'type' => 'select', 'options' => $accounts));
echo $this->Form->input('description',array('label'=>'Short Description Of Template: '));
echo $this->Form->end('Click Here To Submit Template');
?>
4

1 に答える 1

1

次のコードを試してください。

function add(){

$accounts=$this->User->AccountsUser->find('list', array(
'fields'=>array('account_id','account_id'),'conditions' => array(
'user_id' => $this->Auth->user('id'))));

if($this->request->is('post')){
  $this->Template->create();

  if ($this->Template->save($this->request->data)) {
    $this->Session->setFlash('The template has been saved');
    $this->redirect( array('controller' => 'Fields','action' => 'add'));
  } else {
    $this->Session->setFlash('The template could not be saved. Please, try again.');
  }
}
于 2012-08-07T09:46:50.797 に答える