Yii2 Migration将数据移动到其他表

时间:2018-10-02 10:18:24

标签: php database yii yii2 migration

我有桌子:

 CREATE TABLE `ticket` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `price` int(11) DEFAULT NULL,
  `status` NOT NULL DEFAULT,
  `date_created` datetime NOT NULL,
  `date_used` datetime DEFAULT NULL,
  `used_by_user_id` int(11) DEFAULT NULL,) 
 ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

我已经创建了表

        $this->createTable('used', [
        'id'              => $this->primaryKey(),
        'ticket_id'        => $this->integer()->notNull(),
        'date_used'        => $this->integer()->notNull(),
        'used_by_user_id' => $this->integer()->notNull(),
], 'CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE=InnoDB');

我想将某些数据(date_usedused_by_user_id)从表ticket移动到查询中与迁移yii2一起使用的其他表。但是如果没有ActiveRecordarray,我不知道该怎么做。

1 个答案:

答案 0 :(得分:0)

$this->execute("
INSERT INTO used (ticket_id, date_used, used_by_user_id) 
SELECT id, date_used, used_by_user_id 
FROM ticket 
WHERE 
used_by_user_id IS NOT NULL AND date_used IS NOT NULL
");

仅sql。 select

中不支持insert into的Yii迁移