전체 컨트롤러와 양식 코드를 제공하는 것이 과도한 이유는 여러 곳에서 이미 제공 되었기 때문입니다. 가이드 ([1], [2])에서 많은 예제를 볼 수 있으며 프로젝트 템플릿 ([3], [4])에서 언제 어떻게 진행되는지 확인할 수 있습니다. 가능한 변수 $customer_list
이보기 create
지금
public function actionCreate()
{
$customer_list = ArrayHelper::map(Customers::find()
->orderBy(['last_name' => SORT_ASC])
->all(), 'id', 'fullName');
return $this->render('create', [
// ...
'customer_list' => $customer_list
]);
}
: 모든
먼저, 당신이 좋아하는 볼 컨트롤러에서 직접 전달할 수 있기 때문에 $this->view->params
를 사용하여 변수를 전달 할 필요가 없습니다. $this->view->params
을 사용하는 것도 효과가 있지만보기간에 변수를 전달하는 것이 좋습니다. 드롭 다운에 관해서는
<?= $form->field($model, 'customer_id')->dropDownList($customer_list, ['prompt' => '-Choose a Customer-']) ?>
:
활동 범위가 지정된 옵션 항목 중 하나가 (이 'customer_id'
있어이 경우) $model
의 속성의 값과 일치 할 때 선택한 값을 표시하도록 설계 dropDownList()
방법 때문에 모두를 해야 할 일은이 속성을 설정하는 것입니다.
public function actionUpdate($id)
{
$model = Jobs::findOne($id); // $id is primary key in the DB table for Jobs model
// operations on $model here
$customer_list = ArrayHelper::map(Customers::find()
->orderBy(['last_name' => SORT_ASC])
->all(), 'id', 'fullName');
return $this->render('update', [
'model' => $model,
'customer_list' => $customer_list
]);
}
지금보기 dropDownList()
에 대해 동일한 코드와 'customer_id'
$model
에 저장된 값으로 선택 : Jobs
만약
는 액티브 액션의 인스턴스가 그런 일을 볼 수 있습니다. (있는 경우
public function actionUpdate()
{
$model = new Jobs();
$model->customer_id = 1; // example
// operations on $model here
$customer_list = ArrayHelper::map(Customers::find()
->orderBy(['last_name' => SORT_ASC])
->all(), 'id', 'fullName');
return $this->render('update', [
'model' => $model,
'customer_list' => $customer_list
]);
}
지금보기에 dropDownList()
에 대해 동일한 코드가 하나의 값을 선택 'customer_id'
를 보여줍니다 Jobs
만약
당신뿐만 아니라 당신의 선택의 'customer_id'
를 전달할 수 양식 모델의 인스턴스 그 값의 항목이 있습니다).
먼저 컨트롤러에서 제공하는 변수를 대안으로 제공 한 방법을 사용하여 뷰에 전달할 수 없습니다. $ this-> view-> params [ 'customer_list'] 메소드를 사용하기 때문에 큰 문제는 아닙니다. 선택된 항목을 표시하기 위해 제공 한 예제는 $ model-> customer_id = 1입니다. 그러나 원하는 것은 작업 테이블의 현재 레코드에서 customer_id가 선택된 것입니다. 그걸하는 법을 보여 주실 수 있습니까? 감사. – user1556325
위의 내용을 무시하십시오. 나는 이것을 알아 냈다. 업데이트시 양식은 테이블의 값을 선택한 항목으로 자동 표시합니다. 해야 할 일이 없습니다. – user1556325