繁体   English   中英

在Yii 1.x中无法在迁移中使用模型

[英]Unable to use model in migration in Yii 1.x

使用迁移来插入或更改表结构对我来说没有问题。 但是,我有一个问题是使用模型更改表中的数据。 我的想法是做那样的事情:

public function up()
{
    $models = MyModel::model()->findAll();
    foreach ($models as $variable) {
        $variable->property = str_replace('.', ',', $variable->property);
        $variable->save();
    } 
}

看来,我无法导入模型,因为我遇到了以下错误:

*** applying m111010_084827_convert_point_2_comma
PHP Error[2]: include(MyModel.php): failed to open stream: No such file or directory

如果我之前尝试导入模型:

$modelClass = Yii::import('application.models.*');

然后错误是:

*** applying m111010_084827_convert_point_2_comma
exception 'CDbException' with message 'The table "{{mymodel}}" for active record class "MyModel" cannot be found in the database.' in C:\...\yii\framework\db\ar\CActiveRecord.php:2276

问题出在哪儿? 我究竟做错了什么? 我该如何以正确的方式导入迁移模型? 或者我可能应该用SQL命令替换字符串?

迁移绝对是一组SQL命令。 我建议使用SELECT REPLACE命令。 请参阅http://www.1keydata.com/sql/sql-replace.html

但是,只要包含所有必需的php文件,您所采用的方法也应该有效。 您可能还需要基础模型:

   Yii::import('application.models.*');
   Yii::import('application.models.base.*');

并确保编辑config / console.php以获得正确的数据库信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM