-1
단일 양식에서 사용자 (마이그레이션) (직원이 작성)와 컨트롤러가이 페이지를 질문을 내을 만들 수있다 즉삽입하는 방법을 데이터/create.php 직원 및 yii2
`
<?= $form->field($model, 'clinic_id')->dropDownList(
ArrayHelper::map(Clinic::find()->all(),'id','clinic_name'),
['prompt'=> 'Select Clinic']
)?>
<?= $form->field($model, 'first_name')->textInput(['maxlength' => true]) ?>
<?= $form->field($model, 'last_name')->textInput(['maxlength' => true]) ?>
<?= $form->field($model, 'user_name')->textInput(['maxlength' => true]) ?>
<?= $form->field($model, 'password')->passwordInput(['maxlength' => true]) ?>
<?= $form->field($model, 'email')->textInput(['maxlength' => true]) ?>
<?= $form->field($model, 'mobile')->textInput(['maxlength' => true]) ?>
<?= $form->field($model, 'is_active')->textInput() ?>
<div class="form-group">
<?= Html::submitButton($model->isNewRecord ? 'Create' : 'Update', ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']) ?>
</div>
<?php ActiveForm::end(); ?>
직원 컨트롤러
public function actionCreate()
{
$model = new Employee();
if ($model->load(Yii::$app->request->post()) && $model->save()) {
return $this->redirect(['view', 'id' => $model->id]);
} else {
return $this->render('create', [
'model' => $model,
]);
}
}
나는 우리를 마이그레이션 한`
er 테이블과 컨트롤러에 클래스도 포함되어 있지만 데이터는 사용자 테이블 (Employee 테이블에서만)에 삽입되지 않습니다. 가능한 방법은 무엇입니까?
진보 된 yii2 사용자는 사용자 테이블에서 로그인 할 수 있으므로 직원 테이블의 데이터를 사용자 테이블에도 보낼 수 있습니다.
그 직원이 양식에
public function actionCreate()
{
$employee = new Employee();
$user = new User();
if($user->load(Yii::$app->request->post()) AND $employee->load(Yii::$app->request->post()) AND Model::validateMultiple([$user, $employee])) {
if($user->save(false) AND $employee->save(false))
{
return $this->redirect(['index']);
}
else{
return $this->render('create', [
'employee' => $employee, 'user' => $user,
]);
}
}
else {
return $this->render('create', [
'employee' => $employee, 'user' => $user,
]);
}
}
이제 만들 행동에 다음 코드를 추가 속성 및 모델을 쓰기 생성
감사합니다. 사용자 테이블에 모든 세부 정보를 저장할 수 있습니다. 내 문제는 지금 내가 해시 형식으로 암호를 저장할 수 없다는 것입니다, 나를 도와 줄 수 있습니다 –
확인은 컨트롤러에서 암호를 얻는거야 ?? 그렇다면 위의 코드는 해시 코드를 생성합니다. 그렇지 않으면 사용자 정의 해시를 사용하여 $ user-> password = Yii :: $ app-> getSecurity() -> generatePasswordHash ($ password)와 같은 코드를 생성합니다. $ user-> repeat_password = Yii :: $ app-> getSecurity() -> generatePasswordHash ($ password); . if ($ user-> save (false) AND $ employee-> save (false)) 바로 위에이 코드를 작성하십시오. – Radhe9254