我在Yii2高级安装中有一个控制台脚本,我可以在'common \ models \ modelName'下成功使用多个模型,但当我尝试使用'backend \ models \ db \ AuthAssignment'下的模型时得到以下错误:
异常'yii \ base \ UnknownClassException',文件中包含'无法找到'backend \ models \ db \ AuthAssignment'消息:/var/www/html/mvu/backend/models/db/AuthAssignment.php。名称空间缺失?'
此模型文件如下所示:
<?php
namespace app\models\db;
use Yii;
class AuthAssignment extends \yii\db\ActiveRecord {
来自console \ controller文件的调用如下:
<?php
namespace console\controllers;
use Yii;
use yii\console\Controller;
use backend\models\db\AuthAssignment;
use common\models\CourseLessons;
use common\models\Courses;
use common\models\Customer;
use common\models\Users;
class MijnvuController extends Controller {
错误在这里指的是什么命名空间以及包含它的位置?
答案 0 :(得分:0)
事实证明我需要在'frontend \ models \ db \ AuthAssignment'下生成特定模型的副本,因为前端和后端在运行不同的数据库时具有类似的功能。
相应调用它并且有效:
<?php
namespace console\controllers;
use Yii;
use yii\console\Controller;
use backend\models\db\AuthAssignment;
use common\models\CourseLessons;
use common\models\Courses;
use common\models\Customer;
use common\models\Users;
class MijnvuController extends Controller {
答案 1 :(得分:0)
您无法直接从后端目录扩展/使用模型。
要根据您的要求使用模型,您需要在控制台/模型目录下添加这些模型类。
然后在你的控制台控制器中使用如下:
use app/models/Classname;
试试此链接了解更多详情http://latcoding.com/2015/08/27/run-controller-yii2-via-console/