2012-03-10 2 views
3

내가 CakePHP는 2.0.2을 실행하는거야 내가 케이크의 설명서에 따라 관계를 통해 다음과 같은 관계를 hasMany의와 다중 선택 형태

Category hasMany CategoryWork 
    Work hasMany CategoryWork 
    CategoryWork belongs to Category,Work 

고전 hasMany의

있습니다.

사용자가 여러 카테고리를 선택할 수있는 선택 상자가있는 작업 추가/수정 양식이 있습니다. 내가 가지고있는 문제는 사용자가 기존 저작물을 편집 할 때 관련 카테고리가 미리 선택되지 않은 경우입니다.

내가 선택 사실 작업에서와 상자 채우기 위해 다음과 같은 코드를 가지고 :

$categoryWorks = $this->CategoryWork->Category->listCategories(); 
$this->set(compact('categoryWorks')); 

그런 다음 내 입력 필드는 다음과 같습니다

:

<?= $this->Form->input('CategoryWork', array('multiple' => true, 'label' => 'Categories')); ?> 

이것은 선택 필드를 채울 것이다, 작품의 관련 카테고리로 미리 선택하지는 않습니다.

그래서 문제를 해결할 수 있습니다. 입력 통화에 선택한 옵션을 제공하기 만하면 미리 선택한 카테고리를 가져옵니다. 그러나 나는 cakephp이 나를 위해 더 마술 적이기를 기대하고 있었다. :)

나의 이론은 cake가 작업 질의에서 반환 된 CategoryWork 행의 id를보고 있으며 그 이론에서 채워지는 범주의 ID와 일치하지 않는다는 것이다. 쓰러지 다. category_id를 봐야합니다.

의견이 있으십니까? 나는 거의 내가 거기에 있다고 느낀다, 나는 케이크가 그 일을하는 것을 돕기 위해 무언가를 놓치고있다.

미리 감사드립니다.

답변

0

hasAndBelongsToMany 관계에 대해 확인 했습니까?

기본적으로 다음과 같이 작동합니다. 범주 hasAndBelongsToMany CategoryWork를 사용하여 작업