Kal*_*i S 7 php insert-query yii2
Yii2中如何将数据从一个表插入到另一个表。
这里我有两张桌子table1和table2。
现在我需要的是,当满足条件时,我需要将特定数据从 传输table1到table2。
所以帮助在 Yii2 中为这个场景编写插入查询
这是 yii2 文档中给出的插入查询
Yii::$app->db->createCommand()
->insert('user', [
'name' => 'Sam',
'age' => 30,
])->execute();
Run Code Online (Sandbox Code Playgroud)
但我需要根据 Yii2 查询转换此查询
INSERT INTO Customers (CustomerName, Country)
SELECT SupplierName, Country FROM Suppliers;
Run Code Online (Sandbox Code Playgroud)
QueryBuilder的insert方法返回这个:
return 'INSERT INTO ' . $schema->quoteTableName($table)
. ' (' . implode(', ', $names) . ') VALUES ('
. implode(', ', $placeholders) . ')';
Run Code Online (Sandbox Code Playgroud)
所以这里没办法指定SELECT。
在核心中找不到它,我认为它没有实现,因为这是非常罕见的情况。
您可以像这样使用自定义 SQL 代码:
$sql = '...';
\Yii::$app->db->createCommand($sql)->execute();
Run Code Online (Sandbox Code Playgroud)
有用的链接:
PS我也在这里报告了问题,所以也许将来它会被添加到核心中。如果现在想重复使用,可以自己实现这样的方法。