|
|
@@ -48,7 +48,7 @@ class Controller extends BaseController
|
|
|
foreach ($columnNames as $columnName) {
|
|
|
if(str_ends_with($columnName, '_price')) {
|
|
|
$this->data['ranges'][$columnName] = [
|
|
|
- 'title' => $this->data['header'][$columnName . '_txt'],
|
|
|
+ 'title' => $this->data['header'][$columnName],
|
|
|
'min' => $model::query()->min($columnName) / 100,
|
|
|
'max' => $model::query()->max($columnName) / 100,
|
|
|
];
|
|
|
@@ -130,31 +130,19 @@ class Controller extends BaseController
|
|
|
if(!$filterValue) continue;
|
|
|
if(Str::contains($filterValue, '||')) {
|
|
|
$values = explode('||', $filterValue);
|
|
|
- $query->whereIn($filterName, $values);
|
|
|
+ foreach ($values as $v) {
|
|
|
+ if($v == '-пусто-')
|
|
|
+ $query->whereNull($filterName);
|
|
|
+ }
|
|
|
+ $query->orWhereIn($filterName, $values);
|
|
|
} else {
|
|
|
- $query->where($filterName, $filterValue);
|
|
|
+ if($filterValue == '-пусто-') {
|
|
|
+ $query->whereNull($filterName);
|
|
|
+ } else {
|
|
|
+ $query->where($filterName, $filterValue);
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
-// if(Str::contains($filterName, 'price')) {
|
|
|
-// $filterValue = $filterValue * 100;
|
|
|
-// }
|
|
|
-//
|
|
|
-// if(Str::endsWith($filterName, '_from')) {
|
|
|
-// if(is_string($filterValue) && DateHelper::isDate($filterValue)) {
|
|
|
-// $filterValue .= ' 00:00:00';
|
|
|
-// }
|
|
|
-// $query->where(Str::replace('_from', '', $filterName), '>=', $filterValue);
|
|
|
-// } elseif(Str::endsWith($filterName, '_to')) {
|
|
|
-// if(is_string($filterValue) && DateHelper::isDate($filterValue)) {
|
|
|
-// $filterValue .= ' 23:59:59';
|
|
|
-// }
|
|
|
-// $query->where(Str::replace('_to', '', $filterName), '<=', $filterValue);
|
|
|
-// } else {
|
|
|
-// if($filterValue == '-пусто-') {
|
|
|
-// $query->whereNull($filterName);
|
|
|
-// } else {
|
|
|
-// $query->where($filterName, '=', $filterValue);
|
|
|
-// }
|
|
|
-// }
|
|
|
}
|
|
|
}
|
|
|
}
|