Forms Yii2一次操作中的多种形式
在一个动作中处理多个表单的正确方法是什么 这是我的模型/MembersBans.phpForms Yii2一次操作中的多种形式,forms,yii2,Forms,Yii2,在一个动作中处理多个表单的正确方法是什么 这是我的模型/MembersBans.php 而且它似乎不起作用。有什么想法吗?在ActiveForm中的Id并不意味着$u POST中的Id。你应使用: $membersBans->load(Yii::$app->request->post()) 或 $membersBans->load(Yii::$app->request->post('membersBans')) 用于从表单加载属性 例如,来自CeBe()的多个表单 在操作中使用一个模型。我认
而且它似乎不起作用。有什么想法吗?在
ActiveForm
中的Id并不意味着$u POST中的Id。你应使用:
$membersBans->load(Yii::$app->request->post())
或
$membersBans->load(Yii::$app->request->post('membersBans'))
用于从表单加载属性
例如,来自CeBe()的多个表单
在操作中
使用一个模型
。我认为您应该将MembersBans
扩展到MembersBansIp
类。以及您的操作
:
public function actionList() {
$membersBans = new MembersBans();
$membersBansIp = new MembersBansIp();
if ($membersBans->load(Yii::$app->request->post())) {
$membersBans->banMember();
}
if ($membersBansIp->load(Yii::$app->request->post())) {
$membersBansIp->banIp();
}
return $this->render('list', [
'membersBans' => $membersBans,
'membersBansIp' => $membersBansIp,
]);
}
在视图中
:
<?php
$activeForm = ActiveForm::begin([
'id' => 'banMember',
])
?>
<?= $activeForm->field($membersBans, 'fieldMembersBans') ?>
<?= Html::submitButton('Login', ['class' => 'btn btn-primary']) ?>
<?php ActiveForm::end() ?>
<?php
$activeForm = ActiveForm::begin([
'id' => 'banMemberIp',
])
?>
<?= $activeForm->field($membersBansIp, 'usernameMembersBansIp') ?>
<?= Html::submitButton('Login', ['class' => 'btn btn-primary']) ?>
<?php ActiveForm::end() ?>
在模型中
将成员
更改为用户
,因为我没有成员
对象:
$memberInfo = User::findByUsername($this->username);
if ($memberInfo) {
$this->ban_memberid = $memberInfo->id;
简历:你的代码工作正常。更改
控制器
,我是如何编写的。好的,但是如何通过单个模型在单个操作中处理多个表单?我只有一个名为MembersBans的ActiveRecords模型,我不想扩展它。有没有一种方法可以在单个模型的单个操作中使用两个表单?请向您展示banMember
、banIp
和视图(编辑您的问题)。我会试着做点什么。
$membersBans = new MembersBans();
if ($membersBans->load(Yii::$app->request->post())) {
$membersBans->banMember();
}
if ($membersBans->load(Yii::$app->request->post())) {
$membersBans->banIp();
}
$memberInfo = User::findByUsername($this->username);
if ($memberInfo) {
$this->ban_memberid = $memberInfo->id;