Skip to content

Commit 9194c41

Browse files
authored
Force camel case (#12)
* Force camel case * Apply fixes from StyleCI (#11)
1 parent 4e4c1b2 commit 9194c41

File tree

1 file changed

+14
-0
lines changed

1 file changed

+14
-0
lines changed

src/RequestParameters/SearchParameter.php

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
use Asseco\JsonQueryBuilder\RequestParameters\Models\Search;
1010
use Asseco\JsonQueryBuilder\SearchCallbacks\AbstractCallback;
1111
use Illuminate\Database\Eloquent\Builder;
12+
use Illuminate\Support\Str;
1213

1314
class SearchParameter extends AbstractParameter
1415
{
@@ -50,6 +51,8 @@ public function appendQuery(): void
5051
protected function makeQuery(Builder $builder, array $arguments, string $boolOperator = self:: AND): void
5152
{
5253
foreach ($arguments as $key => $value) {
54+
$key = $this->forceCamelCaseOnRelationKeys($key);
55+
5356
if ($this->isBoolOperator($key)) {
5457
// Recursion for keys which are &&/||
5558
$this->makeQuery($builder, $value, $key);
@@ -70,6 +73,17 @@ protected function makeQuery(Builder $builder, array $arguments, string $boolOpe
7073
}
7174
}
7275

76+
protected function forceCamelCaseOnRelationKeys($key)
77+
{
78+
$exploded = explode('.', $key);
79+
80+
if (count($exploded) < 2) {
81+
return $key;
82+
}
83+
84+
return implode('.', [Str::camel($exploded[0]), $exploded[1]]);
85+
}
86+
7387
protected function isBoolOperator($key): bool
7488
{
7589
return in_array($key, [self:: OR, self:: AND], true);

0 commit comments

Comments
 (0)