Yii 控制台应用程序不会自动将模型导入为 Web 应用程序

Yii Console Application does not auto-import Model as web appliccation

这是我的 console.php 与 main.php

相同
return array(
'basePath' => dirname(__FILE__) . DIRECTORY_SEPARATOR . '..',
'name' => 'My Console Application',

// preloading 'log' component
'preload' => array('log'),

 // autoloading model and component classes
'import' => array(
        'application.models.*',
        'application.components.*',
        'application.extensions.*',
),

Web 应用程序访问这些功能没有问题。但是,控制台应用程序产生错误

Fatal error: Call to undefined method Myfunction::get_all_recipients() 

也可以找到对这个问题的讨论

https://github.com/yiisoft/yii/issues/2344

也尝试了建议

Yii Command Line Does Not Autoload Models

但它仍然没有导入模型 类。

第二种解决方案应该可行,但有时我会使用另一种方法。在控制台命令中添加以下内容:

Yii::import('application.models.YourModel');

Yii::import('application.models.Subfolder.YourModel');

例如,如果它位于子文件夹中;

这应该放在处理您的代码之前。这只会自动加载您当前命令需要的模型或 类。