src/Query/Query.php
protected function flattenBindings(array $bindings):array {
		if(!isset($bindings[0])) {
			return $bindings;
		}

		if(is_object($bindings[0])
		&& method_exists($bindings[0], "toArray")) {
			$bindings = array_map(function($element) {
				if(method_exists($element, "toArray")) {
					return $element->toArray();
				}

				return $element;
			}, $bindings);
		}

		$flatArray = [];
		foreach($bindings as $i => $b) {
			while(isset($b[0])
			&& is_array($b[0])) {
				$merged = [];
				foreach($b as $innerKey => $innerValue) {
					$merged = array_merge(
						$merged,
						$innerValue
					);
				}

				$b = $merged;
			}

			if(!is_array($b)) {
				$b = [$b];
			}

			$flatArray = array_merge($flatArray, $b);
		}

		return $flatArray;
	}
protected function flattenBindings(array $bindings):array {
		if(!isset($bindings[0])) {
			return $bindings;
		}

		if(is_object($bindings[0])
		&& method_exists($bindings[0], "toArray")) {
			$bindings = array_map(function($element) {
				if(method_exists($element, "toArray")) {
					return $element->toArray();
				}

				return $element;
			}, $bindings);
		}

		$flatArray = [];
		foreach($bindings as $i => $b) {
			while(isset($b[0])
			&& is_array($b[0])) {
				$merged = [];
				foreach($b as $innerKey => $innerValue) {
					$merged = array_merge(
						$merged,
						$innerValue
					);
				}

				$b = $merged;
			}

			if(!is_array($b)) {
				$b = [$b];
			}

			$flatArray = array_merge($flatArray, $b);
		}

		return $flatArray;
	}
protected function flattenBindings ( array $ bindings ) : array { if ( ! isset ( $ bindings [ 0 ] ) ) { return $ bindings ; } if ( is_object ( $ bindings [ 0 ] ) && method_exists ( $ bindings [ 0 ] , "toArray" ) ) { $ bindings = array_map ( function ( $ element ) { if ( method_exists ( $ element , "toArray" ) ) { return $ element -> toArray ( ) ; } return $ element ; } , $ bindings ) ; } $ flatArray = [ ] ; foreach ( $ bindings as $ i => $ b ) { while ( isset ( $ b [ 0 ] ) && is_array ( $ b [ 0 ] ) ) { $ merged = [ ] ; foreach ( $ b as $ innerKey => $ innerValue ) { $ merged = array_merge ( $ merged , $ innerValue ) ; } $ b = $ merged ; } if ( ! is_array ( $ b ) ) { $ b = [ $ b ] ; } $ flatArray = array_merge ( $ flatArray , $ b ) ; } return $ flatArray ; }
$bindings can either be :
1) An array of individual values for binding to the question mark placeholder,
passed in as variable arguments.
2) An array containing subarrays containing key-value-pairs for binding to
named placeholders.

Due to the use of variable arguments on the Database and QueryCollection classes,
key-value-pair bindings may be double or triple nested at this point.
$bindings can either be : 1 ) An array of individual values for binding to the question mark placeholder passed in as variable arguments . 2 ) An array containing subarrays containing key - value - pairs for binding to named placeholders .