ビューで変数「$Categories」を2回設定しているという点で、Nebojsacは正しいです。実際、$this->set(compact('Categories'));
set() への最初の呼び出しを空白の値で実際に上書きしている可能性があります。次のいずれかを使用する必要があります。
$this->set('categories', $this->Category->find('list'));
また:
$categories = $this->Category->find('list');
$this->set(compact('categories'));
コンパクトを使用すると、$categories という名前の変数が検索され、ビューでアクセスできるようにその変数が $categories に設定されます。
(または外部キーが何であれcategory_id
)フィールドにカテゴリが自動的に入力されるようにするには、モデルを含むフォームを使用してフォームを作成していることを確認する必要があります。Product
echo $this->Form->create('Product');
また、フォーム入力は次のようにする必要があります。
echo $this->Form->input('category_id');
ドロップダウンのオプションを手動で指定する場合は、 を使用してカテゴリをビューにもう一度渡すことができます$this->set('categories', $this->Category->find('list'));
。
次に、ビュー ファイルで、options
配列キーを $categoriesに設定します。
echo $this->Form->input('category_id', array('type' => 'select', 'options' => $categories));