2

1 つの SQL ステートメントの出力を解析してから、次の移行ステートメントにパイプする必要がある移行を構築しようとしています。

CDbMigration::execute()返品オプションがありません。これを行う方法はありますか? クラス リファレンスを参照してください

ActiveRecord を介してクエリを実行し、返された出力を解析することはできますが、CDbMigration でアクティブ レコードを使用することはお勧めしません。

4

1 に答える 1

3

私の知る限り、execute コマンドは結果を返すことはありません。これは、クエリではなく実行を実行するように設計されているためです。つまり、データを取得するのではなく、テーブルにデータを設定します。

必要に応じて、up または down メソッドでこれを試してみてください。

$results = $this->getDBConnection()->createCommand($sql)->query();

ただし、これを行う必要がある場合、移行はその仕事に最適なツールではない可能性があるとコメントします.

于 2013-09-06T11:28:04.513 に答える