Skip to content

Commit 1f821b6

Browse files
authored
Merge pull request #27 from GeneaLabs/laravel-5.5
WIP
2 parents 0991c5f + 7d5c4ad commit 1f821b6

File tree

1 file changed

+42
-25
lines changed

1 file changed

+42
-25
lines changed

Diff for: src/CachedBuilder.php

+42-25
Original file line numberDiff line numberDiff line change
@@ -74,35 +74,27 @@ protected function getQueryColumns(array $columns) : string
7474

7575
protected function getWhereClauses(array $wheres = []) : string
7676
{
77-
$wheres = collect($wheres);
78-
79-
if ($wheres->isEmpty()) {
80-
$wheres = collect($this->query->wheres);
81-
}
82-
83-
return $wheres->reduce(function ($carry, $where) {
84-
if (in_array($where['type'], ['Exists', 'Nested', 'NotExists'])) {
85-
return '_' . strtolower($where['type']) . $this->getWhereClauses($where['query']->wheres);
86-
}
77+
return $this->getWheres($wheres)
78+
->reduce(function ($carry, $where) {
79+
if (in_array($where['type'], ['Exists', 'Nested', 'NotExists'])) {
80+
return '_' . strtolower($where['type']) . $this->getWhereClauses($where['query']->wheres);
81+
}
8782

88-
if ($where['type'] === 'Column') {
89-
return "_{$where['boolean']}_{$where['first']}_{$where['operator']}_{$where['second']}";
90-
}
83+
if ($where['type'] === 'Column') {
84+
return "_{$where['boolean']}_{$where['first']}_{$where['operator']}_{$where['second']}";
85+
}
9186

92-
if ($where['type'] === 'raw') {
93-
return "_{$where['boolean']}_" . str_slug($where['sql']);
94-
}
87+
if ($where['type'] === 'raw') {
88+
return "_{$where['boolean']}_" . str_slug($where['sql']);
89+
}
9590

96-
$value = array_get($where, 'value');
97-
$value .= in_array($where['type'], ['In', 'Null', 'NotNull'])
98-
? strtolower($where['type'])
99-
: '';
100-
$value .= is_array(array_get($where, 'values'))
101-
? '_' . implode('_', $where['values'])
102-
: '';
91+
$value = array_get($where, 'value');
92+
$value .= $this->getTypeClause($where);
93+
$value .= $this->getValuesClause($where);
10394

104-
return "{$carry}-{$where['column']}_{$value}";
105-
}) ?: '';
95+
return "{$carry}-{$where['column']}_{$value}";
96+
})
97+
. '';
10698
}
10799

108100
protected function getWithModels() : string
@@ -246,4 +238,29 @@ public function sum($column)
246238
return parent::sum($column);
247239
});
248240
}
241+
242+
protected function getTypeClause($where)
243+
{
244+
return in_array($where['type'], ['In', 'Null', 'NotNull'])
245+
? strtolower($where['type'])
246+
: '';
247+
}
248+
249+
protected function getValuesClause($where)
250+
{
251+
return is_array(array_get($where, 'values'))
252+
? '_' . implode('_', $where['values'])
253+
: '';
254+
}
255+
256+
protected function getWheres(array $wheres) : Collection
257+
{
258+
$wheres = collect($wheres);
259+
260+
if ($wheres->isEmpty()) {
261+
$wheres = collect($this->query->wheres);
262+
}
263+
264+
return $wheres;
265+
}
249266
}

0 commit comments

Comments
 (0)