Возможность создавать бесконечное количество FOR (foreach)

This commit is contained in:
Arsen Mirzaev Tatyano-Muradovich 2021-07-26 05:27:33 +10:00
parent 03bff66b62
commit 96c80c1a77

View File

@ -406,19 +406,17 @@ class Query extends Component implements QueryInterface
foreach ($conditions as $condition) { foreach ($conditions as $condition) {
// Перебор выражений // Перебор выражений
genForeach_recursion:
foreach ($condition as $FOR => $IN) { foreach ($condition as $FOR => $IN) {
// Инициализация операндов // Инициализация операндов
if (is_int($FOR) && is_array($IN)) { if (is_int($FOR) && is_array($IN)) {
// Вложенный массив (неожиданные входные данные) // Вложенный массив (неожиданные входные данные)
// Реинициализация // !!! Вход в рекурсию !!!
$condition = $IN; // Обработка вложенного массива
$aql .= ' ' . $this->genForeach([$IN]);
// Перебор вложенного массива continue;
goto genForeach_recursion;
} }
$aql .= "FOR $FOR IN $IN "; $aql .= "FOR $FOR IN $IN ";