2012-02-13 4 views
0

나는 SYMFONY 작업 꾼) 한 번 양식 섹션에서 나는 몇 번 우리가 사용하는 것이 발견

'category_id' => new sfWidgetFormDoctrineChoice(array('model' => $this->getRelatedModelName('JobeetCategory'), 'add_empty' => false)), 

때때로 우리는 저 이유에 대해 설명 anyboody 수 단순히

'jobeet_affiliates_list' => new sfWidgetFormDoctrineChoice(array('multiple' => true, 'model' => 'JobeetAffiliate')), 

사용할 수 있습니까? 어떻게 작동합니까? 왜 때로는 우리가 사용합니까 getRelatedModelName ?? 왜 somtimes 'model'=> 'myModel' ???

답변

1

현재 양식의 모델과 위젯에 필요한 모델 사이에 관계가있을 때와 거의 동일하지만, getRelatedModelName 만 사용할 수 있습니다. 예를 들어, Article과 Category 사이에 정의 된 관계가있는 경우 ArticleForm에서 getRelatedModelName('Category')을 사용할 수 있습니다 (일반적으로 관계가 정의됩니다).

두 경우 (관계가 존재하거나 존재하지 않는 경우)에는 모델을 문자열 'model' => 'JobeetAffiliate'으로 쓸 수 있습니다. 나는 보통 그렇게한다.

+0

고맙다 블라드! 내가 맞다면 : JobeetAffiliate가 DB의 JobeetAffiliate 테이블과 관계가 있어야한다고 말하는 것이 좋을까요? – ProXamer

+1

No. 모델과 테이블 사이가 아니라 2 개의 모델 사이의 관계에 관한 것입니다. 첫 번째 예에서 카테고리 테이블/모델과 jobeet_category 테이블/모델을 가질 수 있습니다 (대부분 카테고리 테이블 기본 키는 jobeet_category 테이블의 외래 키입니다). 따라서 JobeetCategory는 JobeetCategory가있는 Category 및 Category와 관계가 있습니다. 그래서 당신은'getRelatedModelName'을 쓸 수 있습니다 (fx' 'Category''라는 정확한 관계를 쓸 수도 있습니다). –