모델의 여러 레코드를 업데이트하는 방법을 생각해보고 YiiBooster를 사용하면서 확장 된 그리드를 사용하여 대량 작업을 수행 할 수 있음을 확인했습니다.Yii 현재 부모 레코드를 기반으로하는 하위 레코드 업데이트
웹에서 찾은 대부분의 예제는 Ajax를 사용하여 여러 레코드를 삭제하는 방법을 보여 주지만 요구 사항은 약간 다릅니다. Yii의 초보자로서 나는 이것에 적절한 해결책을 찾기 위해 고심하고있다.
기본적으로 나는 부모와 자식에게 일대 다 관계가있는 두 가지 모델을 가지고 있습니다. 자식 모델에는 부모 ID를 사용하여 어느 부모를 참조하는지 필드가 있습니다.
응용 프로그램의 프런트 엔드에서 사용자는 상위 업데이트보기로 이동 한 다음 해당 부모에 할당 된 모든 하위 목록을 볼 수 있습니다. 일괄 업데이트 작업을 수행 할 수있는 모든 자식의 표 목록을 보여주는 모달 창을 만들었습니다. 이렇게하면 선택한 모든 하위 항목에 상위 ID가 할당됩니다.
레코드를 업데이트하는 데 사용될 확장 된 눈금보기 및 컨트롤러에서 편집해야하는 것이 확실하지 않으므로 누구나 나를 도와 줄 수 있습니까? 내 부모 업데이트보기에서
다음과 같이 내가 renderPartial를 사용하여 어린이의 인덱스보기에서 끌어 :
<?php $this->renderPartial('application.modules.children.views.childviews.addChild', array('dataProvider' => new CActiveDataProvider('Children'))); ?>
그때 내 아이의 인덱스보기에서 확장 그리드를 가지고 :
<?php
$this->widget('bootstrap.widgets.TbExtendedGridView', array(
'type' => 'striped bordered',
'id' => 'children-grid',
'dataProvider' => $dataProvider,
'bulkActions' => array(
'actionButtons' => array(
array(
'buttonType' => 'link',
'type' => 'primary',
'size' => 'small',
'label' => 'Bulk Action',
'url' => array('batchUpdate'),
'htmlOptions' => array(
'class' => 'bulk-action'
),
'id' => 'child_id',
'click' => ''
)
),
'checkBoxColumnConfig' => array(
'name' => 'child_id'
),
),
'columns' => array(
'child_id',
'child_status',
'parent_id',
array(
'class' => 'bootstrap.widgets.TbButtonColumn',
'buttons' => array(
'update' => array(
'label' => '<i class="icon-user"></i> <span>View Child</span>',
'options' => array('class' => 'btn btn-small'),
'url' => 'Yii::app()->createUrl("children/update", array("id"=>$data->child_id))',
),
),
),
),
));
?>
컨트롤러에서 update 액션을 호출하는 일종의 onclick 이벤트가 필요하다고 생각합니다.이 액션은 선택된 부모 레코드의 parent_id 열을 현재 상위 업데이트 페이지의 부모 ID로 업데이트합니다.
전 누군가가 도움을 줄 수 있기를 바랍니다. 미리 감사드립니다.
내 질문은 자식 레코드에 parent_id가없는 경우 어떻게 부모와 함께 표시 할 것인가입니다. – jmarkmurphy
현재 부모 ID는 자식 테이블에 하드 코드됩니다. 이것은 기능을 작동 시키려고 시도하는 동안입니다. 상위에 하위 레코드가없는 경우 페이지는 사용자에게 레코드가 없음을 알립니다. 많은 감사합니다 – auren27
내 생각에 부모 키의 대량 할당이 필요하지 않습니다. 처음에 자녀를 만들 때 할당되어야합니다. – jmarkmurphy