2016-11-04 4 views
0

내 Yii2 프로젝트에 양식이 있으며이를 사용하여 여러 모델을 만들 수 있어야합니다. 전반적으로 나는 하나의 그룹과 여러 개의 Person ActiveRecords를 가지며, 폼을 사용하여 생성되며 각 Person 레코드는 그룹에 속하게됩니다. 예를 들어ActiveForm을 통해 여러 모델 만들기 Yii2

내가 가지고있는 형태의이 클래스 :

<?php namespace app\models\forms; 

class GroupForm extends yii\base\Model { 
    public $name; 
    public $description; 
    public $date; 
    public $people = []; 

    .... 
} 

그리고 시각적으로이 비슷한 것 :

enter image description here

내가 플러스를 사용할 수 있도록하려면 및 빼기 단추를 사용하여 양식에 사용자를 추가하십시오. HTML 복제 등을 실제로 처리 할 수있는 JS가 있지만 첫 번째 Person을 만드는 방법에 대해서는 확신 할 수 없습니다.

Person[0][first_name]과 같은 이름을 사용해야한다는 것을 알고 있지만 GroupForm을 인스턴스화 할 때 (저장되거나 메모리에 저장된) 사람 객체가 없으므로 <?php echo $form->field($model->people[0], 'first_name')->textInput(); ?>과 같은 작업을 수행 할 수 없습니다.

폼이 제출되면 POST 데이터의 'People'필드를 모두 반복하여 새 People 객체로로드 할 계획을 세웠습니다.

ActiveForm을 사용하여이 작업을 수행 할 수 있습니까? 아니면 ActiveForm을 사용하지 않고 Yii에서 Html 클래스를 사용하여 입력을 만든 다음 JS를 사용하여 인물 색인을 변경하는 것입니까?

답변

1

기본적으로 내가 귀하의 게시물에서 이해 한 것은 Yii2 프로젝트에서 동적 양식을 사용해야한다는 것입니다. 귀하의 경우에는 양식에 그룹 정보와 함께 작성 될 여러 명을 포함해야합니다. Yii2에서이 기능이 wbraganca/yii2-dynamicform 형태 widget.There의 사용을 통해 구현 될 수

https://github.com/wbraganca/yii2-dynamicform

더 많은 정보에서 찾을 수 있습니다 예를 들어 scenario.The 위젯 문서와 위젯을 사용하는 방법에 대한 매우 좋은 문서입니다

http://wbraganca.com/yii2extensions/dynamicform-demo1/create

희망에서 데모 작업이이 확실히

+0

을하는 데 도움이 내가 걸려 라하지만 난 만드는 버그가있는 것 같습니다 무엇 t unusableand dev는 문제를 해결하기 위해 홍보를하지 않습니다. https://github.com/wbraganca/yii2-dynamicform/pull/89 – kyle

+1

@kyle ok –