2
我想在yii中插入数据到MySQL数据库,但我想能够访问控制器中的每个输入。 所以我可以把他们放在一个foreach,因为他们都有相同的名字,但问题是任何时候 我试图访问输入名称我得到这个错误“未定义的索引:主题[主题]”...像输入在视图yii2插入数据库
这不存在是我的控制器
public function actionCompose()
{
$topic= new Topic();
$topic->topic_id = Yii::$app->request->post('Topic','[topic]');
foreach ($_POST["Topic[topic]"] as $key => $top) {
$top=> $topic;
}
if ($topic->load(Yii::$app->request->post())) {
$topic->load($topic);
$topic->save();
return $this->refresh();
}
return $this->render('compose');
}
这是我的看法
use yii\widgets\ListView;
use yii\data\ArrayDataProvider;
use app\models\MyProfile;
use app\models\LikeDiscussion;
use yii\widgets\ActiveForm;
use common\models\Topic;
use common\models\Comment;
use common\models\Users;
use common\models\Candidate;
use yii\widgets\Pjax;
use yii\helpers\Html;
use frontend\assets\AppAsset;
$this->title = 'My Yii Application';
?>
<?php $form = ActiveForm::begin(); ?>
<input type="name" class="form-control" required="true" name="Topic[topic]" id="topic" placeholder="topic">
<input type="name" class="form-control" required="true" name="Topic[topic]" id="topic" placeholder="topic">
<input type="name" class="form-control" required="true" name="Topic[topic]" id="topic" placeholder="topic">
<?php ActiveForm::end(); ?>
当我使用它像这样它下面只是插入了最后的数据。我明白为什么,但我需要插入所有3个输入。任何其他方式来做到这一点。
public function actionCompose()
{
$topic= new Topic();
if ($topic->load(Yii::$app->request->post())) {
$topic->load($_POST);
$topic->save();
return $this->refresh();
}
return $this->render('compose');
}
我不能使用像这样的“= $form->”字段($ model,'username')?>“,因为表单给了我Undefined”variable:model“ – arinze