2012-04-13 4 views
1

팀 옆에 delete team 버튼이있는 팀이있는 페이지가 있습니다. 팀이 그룹에 없으면 그룹에 팀을 추가하기위한 확인란과 버튼이 있습니다. 팀과 함께 그룹 목록을 렌더링하는 actionView에 썼습니다. 보기 파일 GroupControllerYii의 earch 버튼에 작업을 할당하는 방법은 무엇입니까?

public function actionView($id) { 
    $group = $this->loadModel($id); 

    $teamlst = Group::getAllTeamOfGroup($id); 
    $teamnotlst = Group::getAllTeamNotInGroup($id); 

    // Submit 
    $preSelectedItems = array(); 
    if (isset($_POST['teamlist'])) { 
     $preSelectedItems = array(); 
     foreach ($_POST['teamlist'] as $selectedItem) { 
      $preSelectedItems[] = $selectedItem; 
     } 
    } 
    // $teamNo = CHtml::listData($teamnotlst, 'id', 'name'); 

    //Delete  




    $this->render('view', array(
     'model' => $group, 
     'teamlst' => $teamlst, 
     'preSelectedItems'=> $preSelectedItems, 
     'group_id'=>$id, 
     'teamnotlst' => $teamnotlst, 
    )); 

    if(isset($_POST['btndeleteteam'])){ 
      TeamGroup::model()->deleteTeamGroup($team->id, $model->ID); 
    } 

} 

에서

actionView는

<div class="action">  
    <input type="submit" name="btnupdateteam" value="Update Team">   
</div> 
<?php echo CHtml::endForm(); ?> 
<div class ="team"> 

<div class="column1"> 
    <?php foreach ($teamlst as $team): ?> 

     <div class="row"> 
      <?php 
      echo $team->name; 

      ?> 
      <input type="submit" name="btndeleteteam" value="Delete Team"> 
      <?php 
      if(isset($_POST['btndeleteteam'])){ 
       TeamGroup::model()->deleteTeamGroup($team->id, $model->ID);  

      }?> 
     </div> 


    </div><!-- comment --> 
<?php endforeach; ?> 
    <?php  

    $preSelectedItems = array(); 
     if (isset($_POST['teamlist'])) { 
      $preSelectedItems = array(); 
      foreach ($_POST['teamlist'] as $selectedItem) { 
       $preSelectedItems[] = $selectedItem; 
      } 
     } 

    $teamNo = CHtml::listData($teamnotlst, 'id', 'name'); 
    echo CHtml:: checkBoxList('teamlist', $preSelectedItems, $teamNo); 
    ?> 

</div> 

<div class ="team available"> 

</div> 

내 생각은 delete team 버튼을 클릭하면이 그룹에서 팀을 삭제할 것입니다 나는이 방법이 있습니다

TeamGroup::model()->deleteTeamGroup($team->id, $model->ID);  

그룹에 속하지 않은 팀에게는 체크 박스가 선택되면 팀을 그룹에 추가하는 확인란과 업데이트 버튼이 있습니다.

미리 감사드립니다.

답변

2

내가 이해한다면 바로 당신의 문제가 무엇인지 당신은이 문서의 장 http://www.yiiframework.com/doc/guide/1.1/en/basics.controller#action

을 읽을 필요가 모든 행동 delete 또는 add 컨트롤러에 상주하지

대신의 관점에서해야한다, 즉 보기의 내용 :

 if(isset($_POST['btndeleteteam'])){ 
      TeamGroup::model()->deleteTeamGroup($team->id, $model->ID);  

     }?> 

컨트롤러에 다음을 추가해야합니다.

public function actionDelete($id) { 
    TeamGroup::model()->deleteTeamGroup($id);  
    $this->redirect('group/view'); 
} 

대신이 같은이

<input type="submit" name="btndeleteteam" value="Delete Team"> 

뭔가가보기

<a href="<?php echo Yii::app()->createUrl("group/delete",array('id'=>$team->id));?>">delete</a> 

에 있어야합니다 또는 당신의 필요에 적합하게 CGridView을 수정할 수의

관련 문제