Да, в фреймворке Yii можно получить данные из временной таблицы в несколько запросов.
В Yii есть несколько способов работы с временными таблицами. Один из них - использование SQL-выражений напрямую с помощью метода createCommand()
класса YiidbConnection
. Для использования временной таблицы с этим способом, вы можете создать временную таблицу с помощью SQL-запроса и затем использовать ее в последующих запросах.
Пример создания временной таблицы с помощью SQL-запроса:
$connection = Yii::$app->db; // Сохраняем текущий временной режим, чтобы временные таблицы не закрывались после каждого запроса $connection->createCommand('SET @old_sql_mode = @@sql_mode')->execute(); $connection->createCommand("SET @@sql_mode = CONCAT(@@sql_mode, ',PIPES_AS_CONCAT')")->execute(); // Создаем временную таблицу $connection->createCommand("CREATE TEMPORARY TABLE temp_table (id INT, name VARCHAR(255))")->execute();
После создания временной таблицы, вы можете использовать ее в последующих запросах. Например, вы можете вставить данные в временную таблицу:
$connection->createCommand("INSERT INTO temp_table (id, name) VALUES (1, 'John'), (2, 'Jane')")->execute();
Затем вы можете получить данные из временной таблицы в несколько запросов, используя метод createCommand()
и выполнение запросов в цикле:
$command = $connection->createCommand("SELECT * FROM temp_table"); $result = $command->queryAll(); foreach ($result as $row) { // Обработка данных }
Каждый запрос в цикле будет выполняться отдельно, и вы будете получать данные из временной таблицы поэтапно.
Надеюсь, это решит вашу проблему с получением данных из временной таблицы в несколько запросов в Yii!