在高级模板中配置yii2 2-模块时,我得到了以下错误:
exception 'yii\base\UnknownPropertyException' with message 'Getting
unknown property: common\models\User::status' in D:\Programes instal.lats\xampp\htdocs\yiitester\vendor\yiisoft\yii2\base\Component.php:143
Stack trace:
#0 D:\Programes instal.lats\xampp\htdocs\yiitester\vendor\yiisoft\yii2\db\BaseActiveRecord.php(246): yii\base\Component->__get('status')
#1 D:\Programes instal.lats\xampp\htdocs\yiitester\vendor\yiisoft\yii2\validators\DefaultValueValidator.php(46): yii\db\BaseActiveRecord->__get('status')
#2 D:\Programes instal.lats\xampp\htdocs\yiitester\vendor\yiisoft\yii2\validators\Validator.php(238): yii\validators\DefaultValueValidator->validateAttribute(Object(common\models\User), 'status')
#3 D:\Programes instal.lats\xampp\htdocs\yiitester\vendor\yiisoft\yii2\base\Model.php(333): yii\validators\Validator->validateAttributes(Object(common\models\User), Array)
#4 D:\Programes instal.lats\xampp\htdocs\yiitester\vendor\yiisoft\yii2\db\ActiveRecord.php(416): yii\base\Model->validate(NULL)
#5 D:\Programes instal.lats\xampp\htdocs\yiitester\vendor\yiisoft\yii2\db\BaseActiveRecord.php(582): yii\db\ActiveRecord->insert(true, NULL)
#6 D:\Programes instal.lats\xampp\htdocs\yiitester\frontend\models\SignupForm.php(51): yii\db\BaseActiveRecord->save()
#7 D:\Programes instal.lats\xampp\htdocs\yiitester\frontend\controllers\SiteController.php(123): frontend\models\SignupForm->signup()
#8 [internal function]: frontend\controllers\SiteController->actionSignup()
#9 D:\Programes instal.lats\xampp\htdocs\yiitester\vendor\yiisoft\yii2\base\InlineAction.php(55): call_user_func_array(Array, Array)
#10 D:\Programes instal.lats\xampp\htdocs\yiitester\vendor\yiisoft\yii2\base\Controller.php(151): yii\base\InlineAction->runWithParams(Array)
#11 D:\Programes instal.lats\xampp\htdocs\yiitester\vendor\yiisoft\yii2\base\Module.php(455): yii\base\Controller->runAction('signup', Array)
#12 D:\Programes instal.lats\xampp\htdocs\yiitester\vendor\yiisoft\yii2\web\Application.php(83): yii\base\Module->runAction('site/signup', Array)
#13 D:\Programes instal.lats\xampp\htdocs\yiitester\vendor\yiisoft\yii2\base\Application.php(375): yii\web\Application->handleRequest(Object(yii\web\Request))
#14 D:\Programes instal.lats\xampp\htdocs\yiitester\frontend\web\index.php(18): yii\base\Application->run()
#15 {main}我已按照以下指示行事:
https://github.com/dektrium/yii2-user/blob/master/docs/getting-started.md
https://github.com/dektrium/yii2-user/blob/master/docs/usage-with-advanced-template.md
与作曲家一起安装:
composer require "dektrium/yii2-user:0.9.*@dev"并编辑了所需的文件:
common/config/main.php:
<?php
return [
'vendorPath' => dirname(dirname(__DIR__)) . '/vendor',
'modules' => [
'user' => [
'class' => 'dektrium\user\Module',
// you will configure your module inside this file
// or if need different configuration for frontend and backend you may
// configure in needed configs
],
],
'components' => [
'cache' => [
'class' => 'yii\caching\FileCache',
],
'authManager' => [
'class' => 'yii\rbac\DbManager',
'defaultRoles' => ['guest'],
],
],
];frontend/config/main.php
<?php
$params = array_merge(
require(__DIR__ . '/../../common/config/params.php'),
require(__DIR__ . '/../../common/config/params-local.php'),
require(__DIR__ . '/params.php'),
require(__DIR__ . '/params-local.php')
);
return [
'id' => 'app-frontend',
'basePath' => dirname(__DIR__),
'bootstrap' => ['log'],
'controllerNamespace' => 'frontend\controllers',
'modules' => [
'user' => [
// following line will restrict access to admin page
'as frontend' => 'dektrium\user\filters\FrontendFilter',
],
],
'components' => [
'log' => [
'traceLevel' => YII_DEBUG ? 3 : 0,
'targets' => [
[
'class' => 'yii\log\FileTarget',
'levels' => ['error', 'warning'],
],
],
],
'errorHandler' => [
'errorAction' => 'site/error',
],
],
'params' => $params,
];我刚接触到yii2 2-用户和rbac。
发布于 2018-06-02 08:55:13
您可以使用此命令运行迁移:
php yii migrate/up --migrationPath=@vendor/dektrium/yii2-user/migrations发布于 2015-05-05 03:44:03
您需要运行yii migrate命令。
发布于 2021-03-24 09:38:13
由于版本2.0.12,您还可以指定一个迁移路径数组,应该搜索这些路径以加载迁移。
在控制台配置中,可以添加:
'controllerMap' => [
'migrate' => [
'class' => MigrateController::class,
'migrationPath' => [
'@app/migrations',
'@vendor/dektrium/yii2-user/migrations'
],
'migrationNamespaces' => [
],
],
]如果您运行
php迁移/向上
然后@供应商/dektrium/yii2 2-用户/迁移将始终包括在内。
好处是,如果其中一个更新附带迁移,则不会遇到错误。
https://stackoverflow.com/questions/29986063
复制相似问题