无法在控制台脚本

时间:2016-07-05 18:16:46

标签: php activerecord yii2

我在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 {

错误在这里指的是什么命名空间以及包含它的位置?

2 个答案:

答案 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/