2013-02-21 4 views
0

저는 뭔가 도움이 될 수 있도록 yii 프레임 워크를 처음 사용합니다. 내가 POST로 내 데이터베이스에서 테이블을 가지고, 1 필드의 유형이라고합니다.체크 박스 외래 키가 Yii의 많은 것에 속해 있습니다.

표 유형 :

id name 
1 Politic 
2 Sport 
3 Espiritual 

표 포스트 :

id title 
1 Politic in Barsovia 
2 God exist! 
3 Del Po Win in Rotterdam 

표 Post_type

id id_post id_type 
1 1  1 
2 2  3 
3 3  2 

내가 TYPE의 관계가 다른 테이블에서이 같은 유형의 많아요

'posttype' => array(self::HAS_MANY, 'Post_type', 'ID_TYPE'), 

은 내가

'posttype' => array(self::HAS_MANY, 'Post_type', 'ID_POST'), 

내가이 example

질문 완 POST에 관계가 있습니다

방법 테이블 TYPE에서 체크 박스의 목록을 작성하기를

방법 activeCheckBoxList 너비를 사용합니다. CAdvancedArBehavior

+1

문제가 무엇이고 문제가 정확히 무엇인지 표현하기 위해 시간을 할애하십시오 (사전에 관련 문서를 읽는 것을 포함하여 최소한의 노력이 필요합니다). 지금 당장은이 질문이 명확하지 않고 종결 후보가됩니다. – Jon

답변

1

CActiveForm에서 CHtml :: checkBoxList() 또는 CHtml :: activeCheckBoxList() 또는 해당 래퍼를 사용할 수 있습니다. 예를 들어, 컨트롤러, 당신은 모든 관련 유형의 검색이 줄 수 있습니다 :보기에

$types = CHtml::listData($model->posttype, 'id', 'name'); // prepare the data for check box list 
// the rest of your controller code ... 
$this->render('create', array(
    'model' => $model, 
    'types' => $types, 
)); 

을, 당신은 사용할 수 있습니다 CActiveForm :: checkBoxList() 체크 박스를 생성합니다 :

<?php echo $form->checkBoxList($model, 'type', $types); ?> 

또한 이름을 변경하여 사용자 친화적 인 관계를 만드는 것이 좋습니다. 유형 모델에서 관계 이름으로 "게시물"을, 게시물 모델에서 관계 이름으로 "유형"을 가져야합니다 .

+0

그리고 내가 지키는대로 ?? – m3mm0

+0

용서 하시겠습니까? 무슨 소리 야? –