Php yii2插入数据库
我试图将数据插入yii中的mysql数据库,但我希望能够访问控制器中的每个输入。 所以我可以把它们放在foreach中,因为它们都有相同的名字,但问题是任何时候 我试图访问输入名,但我得到了这个错误“未定义索引:主题[主题]”。。。例如,视图中不存在输入 这是我的控制器Php yii2插入数据库,php,mysql,yii2,Php,Mysql,Yii2,我试图将数据插入yii中的mysql数据库,但我希望能够访问控制器中的每个输入。 所以我可以把它们放在foreach中,因为它们都有相同的名字,但问题是任何时候 我试图访问输入名,但我得到了这个错误“未定义索引:主题[主题]”。。。例如,视图中不存在输入 这是我的控制器 public function actionCompose() { $topic= new Topic(); $topic->topic_id = Yii::$app->reque
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(); ?>
本文中的官方文档介绍了如何使用同一类型的多个模型 以下是一些重要的部分 控制器代码:
<?php
namespace app\controllers;
use Yii;
use yii\base\Model;
use yii\web\Controller;
use app\models\Setting;
class SettingsController extends Controller
{
// ...
public function actionUpdate()
{
$settings = Setting::find()->indexBy('id')->all();
if (Model::loadMultiple($settings, Yii::$app->request->post()) && Model::validateMultiple($settings)) {
foreach ($settings as $setting) {
$setting->save(false);
}
return $this->redirect('index');
}
return $this->render('update', ['settings' => $settings]);
}
}
我不能像这样使用普通表单方法“”,因为表单给了我未定义的“变量:模型”
<?php
namespace app\controllers;
use Yii;
use yii\base\Model;
use yii\web\Controller;
use app\models\Setting;
class SettingsController extends Controller
{
// ...
public function actionUpdate()
{
$settings = Setting::find()->indexBy('id')->all();
if (Model::loadMultiple($settings, Yii::$app->request->post()) && Model::validateMultiple($settings)) {
foreach ($settings as $setting) {
$setting->save(false);
}
return $this->redirect('index');
}
return $this->render('update', ['settings' => $settings]);
}
}
<?php
use yii\helpers\Html;
use yii\widgets\ActiveForm;
$form = ActiveForm::begin();
foreach ($settings as $index => $setting) {
echo $form->field($setting, "[$index]value")->label($setting->name);
}
ActiveForm::end();