diff --git a/src/Base/Traits/Queryable.php b/src/Base/Traits/Queryable.php index fc36c59..db44443 100644 --- a/src/Base/Traits/Queryable.php +++ b/src/Base/Traits/Queryable.php @@ -3,6 +3,19 @@ trait Queryable { + /** + * replace_entity + * to check if use Spatie QueryBuilder Package + * https://github.com/spatie/laravel-query-builder + * @return object + */ + protected function replace_entity(){ + + return $this->spatieQueryBuilder? + \Spatie\QueryBuilder\QueryBuilder::for($this->entity) : new $this->entity; + + } + /** * master of query method * @return query methods @@ -85,7 +98,7 @@ public function afterRestore($entity):void {} * @return entity query */ public function appendQuery() { - $query = $this->query(new $this->entity)->orderBy(request('orderBy', 'id'), request('sort', 'desc')); + $query = $this->query($this->replace_entity())->orderBy(request('orderBy', 'id'), request('sort', 'desc')); if (request('limit') > 0) { $query = $query->limit('limit', request('limit')); } @@ -96,7 +109,7 @@ public function appendQuery() { * @return entity query */ public function appendShowQuery() { - return $this->beforeShow(new $this->entity)->orderBy(request('orderBy', 'id'), request('sort', 'desc')); + return $this->beforeShow($this->replace_entity())->orderBy(request('orderBy', 'id'), request('sort', 'desc')); } }