2011-06-17 11 views
0

私は単純なテーブルからデータを取得し、選択フィールドのフォームにデータを入力しようとしています。 頭字語とトピックの2つの表があります。CakePHPでフィールドを選択データを取得

現在は私が持っている:私のacronyms_controllerで
は(メソッド)は、(追加):私の頭字語で

$topics = $this->Acronym->Topic->find('list'); 
$this->set(compact('topics')); 

(モデル):私のトピックモデルでは

var $belongsTo = array(
     'Topic' => array(
      'className' => 'Topic', 
      'foreignKey' => 'topic_id', 
      'conditions' => '', 
      'fields' => '', 
      'order' => '' 
     ) 
    ); 

var $hasMany = array(
     'Acronym' => array(
      'className' => 'Acronym', 
      'foreignKey' => 'topic_id', 
      'dependent' => false, 
      'conditions' => '', 
      'fields' => '', 
      'order' => '', 
      'limit' => '', 
      'offset' => '', 
      'exclusive' => '', 
      'finderQuery' => '', 
      'counterQuery' => '' 
     ) 
    ); 

アングロ・ビューで見る:

<?php echo $this->Form->input('topic_id'); ?> 

なぜこれが機能していないのか分かりません(selectフィールドのトピックデータを取得していません)。私は単純なアプリケーションをダウンロードし、同じ練習をして、それは非常にうまくいった。私は何が欠けているのか分からない。

私はあなたの助けを借りていただければ幸いです。

+0

「機能しない」と定義してください。 – deceze

答えて

0

あなたのコードはすべて正しいようです。トピック名が選択フィールドに表示されていない場合は、おそらくデータベーステーブルのフィールドが正しくないためです。

ケーキがトピック名のリストで自動的に選択されるようにするには、Topicテーブルにnameというフィールドが必要です。

それ以外の場合は、コントローラーにこれと競合するものがなければなりませんが、これを確認するにはadd()メソッド全体を確認する必要があります。

+0

テーブル「トピック」に「名前」という名前のフィールドがあります。ここに私のadd()があります:function add(){ \t \t \t \t $ this-> layout = 'default'; \t \t \t \t場合(!空(の$ this - >データ)){ \t \t \tます$ this-> Acronym->()を作成します。 \t \t \t場合(の$ this - > Acronym->保存(の$ this - >データ)){ \t \t \t \tの$ this - >セッション - > setFlash( '頭文字が正常に削除されました。'、 'flash_success') ; \t \t \t \t $ this-> redirect( '/ acronyms/add'); \t \t \t}他{ \t \t \t \tの$ this - >セッション - > setFlash(__( '頭文字を保存することができませんでした。してください、もう一度試してください。'、真)); \t \t \t \t \t \t $ topics = $ this->頭字語 - >トピック - >検索( 'list'); \t \t \t $ this->(compact( 'topics')); \t \t} \t} –

+0

まあ、私はまだ何が起こったのか分かりません。しかし、私は別の同様のコードを取得し、ちょうどいくつかの変更を加え、今、それはすべてokです。 ありがとう! 私は本当にジョセフと欺瞞に感謝します。 –

+0

それも大丈夫です。あなたの$ this-> Form-> input( 'topic_id')のためにCakeによって生成されているHTMLの観点から、ビューの出力は正確です。 ?また、debug($ topics)を追加すると、ビューの結果はどうなりますか?コントローラーで? – Joseph

関連する問題