2011-07-27 13 views
0

私は、スクリプトテーブルに区分を保存する必要が
CakePHPの問題

 $this->data['Script']['script_catagories_id'] = $this->Script->scriptCategory->id; 

class Script extends AppModel { 
    var $name = 'Script'; 
    var $belongsTo = array(
    'ScriptCatagories' => array(
     'className' => 'ScriptCatagories', 
     'foreignKey' => 'script_catagories_id', 

function add_script() { 
    pr($this->data); 
    if (!empty($this->data)) { 
     $this->Script->create(); 
     $this->data['Script']['script_catagories_id'] = $this->Script->scriptCategory->id; 
     $this->data['Script']['user_id'] = $this->Auth->user('id'); 
     if ($this->Script->save($this->data)) { 
      $this->Session->setFlash(__('The script has been saved', true)); 
      $this->redirect(array('action' => 'script_index')); 
     } else { 
      $this->Session->setFlash(__('The script could not be saved. Please, try again.', true)); 
     } 
    } 

    pr($scriptCatagories = $this->Script->ScriptCatagories->find('list')); 
    $this->set(compact('scriptCatagories')); 
} 

クリック

Array 
(
[Script] => Array 
    (
     [name] => fdfvvds 
     [description] => dfvdfvdfvdf 
     [tags] => 
    ) 
    ) 
    Array 
    (
    [0] => performance 
    [1] => cleanup 
    ) 

セーブで質問belongto保存問題を得たが、私はそれを得ることを知らない
ありがとう

答えて

0
var $belongsTo = array(
'ScriptCatagories' => array(
    'className' => 'ScriptCatagories', 
    'foreignKey' => 'script_catagories_id', 

まず、それが近い括弧を持っていません。また、ScriptCategoryの単数型でなければなりません。また、外部キーscript_category_id(慣例に従うだけでよい)です。あなたはカテゴリのスペルミスを訂正しました(コードの後に​​$this->Script->scriptCategory->id;があります)

+0

申し訳ありませんが、実際のコードは完全ですが質問には失われました –