错误:获取未知属性:yii\web\Application::generateid

错误:获取未知属性:yii\web\Application::generateid,yii,yii2,yii2-basic-app,Yii,Yii2,Yii2 Basic App,我在studentscoontroller.php中有下面的代码,可以从一个表单向两个表添加数据,但我发现了一个错误。它是添加到学生表中,然后将一些数据也添加到用户表中。我觉得我应该通过use'关键字在顶部添加一些内容,但我不知道。请帮助 public function actionCreate() { $model = new model(); $user = new Users(); if ($model->load(Yii::$app->request

我在studentscoontroller.php中有下面的代码,可以从一个表单向两个表添加数据,但我发现了一个错误。它是添加到学生表中,然后将一些数据也添加到用户表中。我觉得我应该通过use'关键字在顶部添加一些内容,但我不知道。请帮助

public function actionCreate() {
    $model = new model();
    $user = new Users();

    if ($model->load(Yii::$app->request->post())) {

        $model->id = Yii::$app->generateid->getGUID();  //this line caused the error
        $model->save();
        $studentId = $model->id;
        if($user->load(Yii::$app->request->post()))
        {
            $user->id = $model->id;
            $user->firstname = $model->firstname;
            $user->lastname = $model->lastname;
            $user->username = $model->phone;
            $user->password = 'pass123';   //default password
            $user->role = 'student';
            $user->save(false);
        }
        return $this->redirect(['view', 'id' => $model->id]);
    } else {
         return $this->render('create', [
             'model' => $model,
             'user' => $user,                 
         ]);
    }
}
您似乎错过了web.php中的generateid 应该是这样的

@app/components文件夹中的GenerateIDs.php

然后你可以在你的应用程序中随心所欲地使用它

public function actionCreate() {
$model = new model();
$user = new Users();

if ($model->load(Yii::$app->request->post())) {

    $model->id = Yii::$app->generateid->getGUID();  //this line caused the error
    $model->save();
    $studentId = $model->id;
    if($user->load(Yii::$app->request->post()))
    {
        $user->id = $model->id;
        $user->firstname = $model->firstname;
        $user->lastname = $model->lastname;
        $user->username = $model->phone;
        $user->password = 'pass123';   //default password
        $user->role = 'student';
        $user->save(false);
    }
    return $this->redirect(['view', 'id' => $model->id]);
} else {
    return $this->render('create', [
                'model' => $model,
                'user' => $user,                 
    ]);
}
请看一下您的web.php中的generateid 应该是这样的

@app/components文件夹中的GenerateIDs.php

然后你可以在你的应用程序中随心所欲地使用它

public function actionCreate() {
$model = new model();
$user = new Users();

if ($model->load(Yii::$app->request->post())) {

    $model->id = Yii::$app->generateid->getGUID();  //this line caused the error
    $model->save();
    $studentId = $model->id;
    if($user->load(Yii::$app->request->post()))
    {
        $user->id = $model->id;
        $user->firstname = $model->firstname;
        $user->lastname = $model->lastname;
        $user->username = $model->phone;
        $user->password = 'pass123';   //default password
        $user->role = 'student';
        $user->save(false);
    }
    return $this->redirect(['view', 'id' => $model->id]);
} else {
    return $this->render('create', [
                'model' => $model,
                'user' => $user,                 
    ]);
}

请查看

您的应用程序没有generateid组件。你为什么认为它会起作用?哦@rob006然后我可以做什么,或者用另一种方法来实现它。如果没有,请先在config/web.php中查找generateid,然后创建组件。如果复制粘贴的代码,请检查该代码,您将在那里找到它。您的应用程序没有generateid组件。你为什么认为它会起作用?哦@rob006然后我可以做什么,或者用另一种方法来实现它。如果没有,请先在config/web.php中查找generateid,然后创建组件。如果您复制粘贴的代码,然后检查代码,您将在那里找到它。
public function actionCreate() {
$model = new model();
$user = new Users();

if ($model->load(Yii::$app->request->post())) {

    $model->id = Yii::$app->generateid->getGUID();  //this line caused the error
    $model->save();
    $studentId = $model->id;
    if($user->load(Yii::$app->request->post()))
    {
        $user->id = $model->id;
        $user->firstname = $model->firstname;
        $user->lastname = $model->lastname;
        $user->username = $model->phone;
        $user->password = 'pass123';   //default password
        $user->role = 'student';
        $user->save(false);
    }
    return $this->redirect(['view', 'id' => $model->id]);
} else {
    return $this->render('create', [
                'model' => $model,
                'user' => $user,                 
    ]);
}