summaryrefslogtreecommitdiffstats
path: root/src/Components/ArrayObj.php
diff options
context:
space:
mode:
authorDan Ungureanu <udan1107@gmail.com>2015-08-14 00:16:12 +0300
committerDan Ungureanu <udan1107@gmail.com>2015-08-14 00:19:48 +0300
commit09a7047bf51de1d733dd95674f083c1e11c656e1 (patch)
tree6a9dbc92d7d4390ecae7cf0776dd6cb20fecef06 /src/Components/ArrayObj.php
parenta36dbf270118af42e09b223957ed0d96f6ac0ed9 (diff)
downloadsql-parser-09a7047bf51de1d733dd95674f083c1e11c656e1.zip
sql-parser-09a7047bf51de1d733dd95674f083c1e11c656e1.tar.gz
sql-parser-09a7047bf51de1d733dd95674f083c1e11c656e1.tar.bz2
Finished builders for components.
Diffstat (limited to 'src/Components/ArrayObj.php')
-rw-r--r--src/Components/ArrayObj.php22
1 files changed, 15 insertions, 7 deletions
diff --git a/src/Components/ArrayObj.php b/src/Components/ArrayObj.php
index 8dde518..ef0f79f 100644
--- a/src/Components/ArrayObj.php
+++ b/src/Components/ArrayObj.php
@@ -133,20 +133,28 @@ class ArrayObj extends Component
}
/**
- * @param ArrayObj $component The component to be built.
+ * @param ArrayObj|ArrayObj[] $component The component to be built.
*
* @return string
*/
public static function build($component)
{
- $values = array();
- if (!empty($component->raw)) {
- $values = $component->raw;
+ if (is_array($component)) {
+ $values = array();
+ foreach ($component as $c) {
+ $values[] = static::build($c);
+ }
+ return implode(', ', $values);
} else {
- foreach ($component->values as $value) {
- $values[] = $value;
+ $values = array();
+ if (!empty($component->raw)) {
+ $values = $component->raw;
+ } else {
+ foreach ($component->values as $value) {
+ $values[] = $value;
+ }
}
+ return '(' . implode(', ', $values) . ')';
}
- return '(' . implode(', ', $values) . ')';
}
}