マイグレーションを使用してテーブル構造を挿入または変更することは問題ありません。しかし、モデルを使ってテーブル内のデータを変更するのに問題があります。私の考えではそのような何かを行うことです。Yii 1.xのマイグレーションでモデルを使用できません
*** applying m111010_084827_convert_point_2_comma
PHP Error[2]: include(MyModel.php): failed to open stream: No such file or directory
私はインポートしよう:
public function up()
{
$models = MyModel::model()->findAll();
foreach ($models as $variable) {
$variable->property = str_replace('.', ',', $variable->property);
$variable->save();
}
}
それは私がfollwoingエラーを取得していますので、私は、モデルをインポートすることができませんだと、思えます前モデル:
$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コマンドで文字列を置き換える必要がありますか?
これは明白な疑問のように思えるかもしれませんが、適切なCACtiveRecordモデルが設定されていますか、正しい 'tableName()'が指定されていますか?テーブルがデータベースに存在していますか?私はちょうど移行のいくつかのモデルを介して迅速なテストをループしたので、それは私のためにうまくいくように見えました。 – thaddeusmt
@thaddeusmt:tableName、モデルとテーブルが正しくありました。しかし、config/console.phpが別のdb-configurationであることに気付かなかった。私はそれを変更した後 - それは働いた!ありがとう.. – zonky
ああ!うん、それは難しいことだ。あなたはそれを考え出してうれしい!私はDB情報のために使う "基本"設定ファイルを持っています。そして、私はCMap :: mergeArrayを使ってそれを私のウェブとコンソールファイルと組み合わせて、同じDB情報を継承します。 – thaddeusmt