Nebojsac가 올바른지 당신이 변수를 설정하는 "$ Catego 두 번 "보기". 사실 $this->set(compact('Categories'));
은 빈 값으로 set()에 대한 첫 번째 호출을 실제로 덮어 쓸 수 있습니다. 당신이해야 사용 중 하나
$this->set('categories', $this->Category->find('list'));
OR : 당신은 컴팩트 사용할 때
$categories = $this->Category->find('list');
$this->set(compact('categories'));
, 그것은 $ 범주라는 변수를 찾고, 그리고 그 다음 변수 $에 카테고리가에 액세스 할 수 있다는 설정 전망. 위해서는
당신의 category_id
(또는 무엇 이건 당신의 외래 키가입니다) 필드를 자동으로 카테고리로 채워하기 위해, 당신은 확실히 당신이 Product
모델의 양식을 사용하여 양식을 작성하는 것을 확인해야합니다
echo $this->Form->create('Product');
또한, 폼 입력은 다음과 같아야합니다
echo $this->Form->input('category_id');
당신이 아래로 수동으로 드롭에 대한 옵션을 지정하려는 경우, 당신은 다시 한 번 T로 카테고리를 전달할 수 있습니다 그는 $this->set('categories', $this->Category->find('list'));
을 사용하여 봅니다.
echo $this->Form->input('category_id', array('type' => 'select', 'options' => $categories));
은 $보기의 변수입니다. 기본적으로 소문자 인 경향이 있습니다 ($ categories). 또한, 두 번 설정할 필요가 없습니다. compact()가있는 줄은 불필요합니다. –