Как написать Вставить запрос в Yii2?

В 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;

3

Решение

QueryBuilder«s insert метод возвращает это:

return 'INSERT INTO ' . $schema->quoteTableName($table)
. ' (' . implode(', ', $names) . ') VALUES ('
. implode(', ', $placeholders) . ')';

Так что нет возможности указать SELECT Вот.

Я не могу найти его в ядре, я думаю, что это не реализовано, потому что это довольно редкий случай.

Вы можете использовать свой собственный код SQL следующим образом:

$sql = '...';

\Yii::$app->db->createCommand($sql)->execute();

Полезные ссылки:

Постскриптум Я также сообщил о проблеме Вот, так что, возможно, это будет добавлено к ядру в будущем. Если вы хотите сделать это сейчас для повторного использования, вы можете реализовать такой метод самостоятельно.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]