gpt4 book ai didi

php - 在 yii2 中插入数据库?

转载 作者:行者123 更新时间:2023-11-29 06:11:45 24 4
gpt4 key购买 nike

我正在尝试将数据插入到 yii2 中的 MySQL 表中,但它给了我错误。

我在 View 中有一个文本框。它的目的是获取用户在 name=Topic[topic]; 文本框中输入的数据,并将其插入到数据库中。

当我以不同的方式尝试它时,比如 $topic->topic = 'good things'; 它运行良好,但是当我尝试改变它时,比如 $topic->topic = $topic_data['topic'];.我收到此错误:

Undefined index: topic`

这是 Controller :

use Yii;
use common\models\LoginForm;
use common\models\Topic;
use frontend\models\ContactForm;
use frontend\models\PasswordResetRequestForm;
use frontend\models\ResetPasswordForm;
use frontend\models\SignupForm;;

use yii\base\InvalidParamException;
use yii\filters\AccessControl;
use yii\filters\VerbFilter;
use yii\web\BadRequestHttpException;
use yii\web\Controller;

public function actionCompose()
{
$topic= new Topic();

$topic_data = Yii::$app->request->post('Topic', []);

$topic->creator = Yii::$app->user->identity->email;
$topic->topic = $topic_data['topic'];

$topic->save();
return $this->render('compose');
}

这是 View :

<?php

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">

<?= Html::submitButton('My Yii Application', ['class' => 'btn btn-primary', 'name' => 'login-button']) ?>
<?php ActiveForm::end(); ?>

我该如何解决这个问题或者他们是更好的解决方法?

最佳答案

尝试使用正确的 $model->load

   $topic= new Topic(); 
$topic->load($_POST)
$topic->creator = Yii::$app->user->identity->email;
$topic->save();
return $this->render('compose');

关于php - 在 yii2 中插入数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37881027/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com