В Yii2 Как вставить данные из одной таблицы в другую.
Здесь у меня есть две таблицы table1
а также table2
,
Теперь, что мне нужно, это когда условие выполнено, мне нужно передать конкретные данные из table1
в table2
,
так что помогите написать запрос вставки для этого сценария в Yii2
Это запрос на вставку, приведенный в документации yii2.
Yii::$app->db->createCommand()
->insert('user', [
'name' => 'Sam',
'age' => 30,
])->execute();
Но мне нужно, чтобы этот запрос был конвертирован в соответствии с запросом Yii2
INSERT INTO Customers (CustomerName, Country)
SELECT SupplierName, Country FROM Suppliers;
QueryBuilder
«s insert
метод возвращает это:
return 'INSERT INTO ' . $schema->quoteTableName($table)
. ' (' . implode(', ', $names) . ') VALUES ('
. implode(', ', $placeholders) . ')';
Так что нет возможности указать SELECT
Вот.
Я не могу найти его в ядре, я думаю, что это не реализовано, потому что это довольно редкий случай.
Вы можете использовать свой собственный код SQL следующим образом:
$sql = '...';
\Yii::$app->db->createCommand($sql)->execute();
Полезные ссылки:
Постскриптум Я также сообщил о проблеме Вот, так что, возможно, это будет добавлено к ядру в будущем. Если вы хотите сделать это сейчас для повторного использования, вы можете реализовать такой метод самостоятельно.
Других решений пока нет …