24 $data[
'dimensions'] = $this->processDimensions(
$requestData[
'dimensions'], $bindData[
'dimensions']);
25 $data[
'queries'] = $this->processData(
$requestData[
'queries'], $bindData[
'placeholder']);
26 $data[
'filters'] = $this->processData(
$requestData[
'filters'], $bindData[
'placeholder']);
27 $data[
'aggregations'] = $this->processData(
$requestData[
'aggregations'], $bindData[
'placeholder']);
39 private function processLimits(
$data, $bindData)
41 $limitList = [
'from',
'size'];
42 foreach ($limitList as $limit) {
43 if (isset($bindData[$limit])) {
44 $data[$limit] = $bindData[$limit];
57 private function processDimensions(
$data, $bindData)
60 if (isset($bindData[
$name])) {
75 private function processData(
$data, $bindData)
77 array_walk_recursive($bindData,
function (&
$item) {
80 $bindData = array_filter($bindData,
function (
$element) {
86 $data[$key] = $this->processData(
$value, $bindData);
88 foreach ($bindData as $bindKey => $bindValue) {
89 if (strpos(
$value, $bindKey) !==
false) {
90 if (is_string($bindValue)) {
91 $data[$key] = str_replace($bindKey, $bindValue,
$value);
93 $data[$key] = $bindValue;
95 $data[
'is_bind'] =
true;
bind(array $requestData, array $bindData)