2

我正在尝试构建一个迁移,其中一个 SQL 语句的输出需要被解析,然后通过管道传输到以下迁移语句。

CDbMigration::execute()没有退货选项,任何想法如何做到这一点? 请参阅类参考

虽然我可以通过 ActiveRecord 运行查询并解析返回的输出,但不建议在 CDbMigration 中使用活动记录,任何更好的解决方案都会有所帮助

4

1 回答 1

3

据我所知,execute 命令永远不会返回任何结果,因为它旨在执行执行,而不是查询 - 即它在表中设置一些数据,而不是获取它。

您能否根据需要在 up 或 down 方法中尝试此操作:

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

尽管我会评论说,如果您需要这样做,迁移可能不是这项工作的最佳工具。

于 2013-09-06T11:28:04.513 回答