- Started working on decoupling QueryBuilder from SqlQueryBuilder
- WIP on SearchRequest attributes - Began working on removing 'Ulmus' class - WIP on removing SQL query building from Repository (which will become SqlRepository)
This commit is contained in:
1 parent
4571517dc8
commit
9fdebf454d
21 files changed
+114
-127
No files matched your search
@@ -2,11 +2,11 @@
|
||||
|
||||
namespace Ulmus\Query;
|
||||
|
||||
abstract class Fragment {
|
||||
abstract class Fragment implements QueryFragmentInterface{
|
||||
|
||||
public int $order = 0;
|
||||
|
||||
public abstract function render() /*: mixed*/;
|
||||
public abstract function render() : mixed;
|
||||
|
||||
public function order() : float
|
||||
{
|
||||
|
||||
@@ -9,10 +9,10 @@ class GroupBy extends Fragment {
|
||||
|
||||
const SQL_TOKEN = "GROUP BY";
|
||||
|
||||
public function set(array $order) : self
|
||||
public function set(array $fields) : self
|
||||
{
|
||||
$this->groupBy = [ $order ];
|
||||
|
||||
$this->groupBy = $fields;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
|
||||
@@ -2,8 +2,6 @@
|
||||
|
||||
namespace Ulmus\Query;
|
||||
|
||||
use Ulmus\MysqlQueryBuilder;
|
||||
|
||||
use Ulmus\Common\EntityField,
|
||||
Ulmus\Common\Sql;
|
||||
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
|
||||
namespace Ulmus\Query;
|
||||
|
||||
use Ulmus\MysqlQueryBuilder;
|
||||
use Ulmus\Repository\ConditionTrait;
|
||||
|
||||
class Join extends Fragment
|
||||
|
||||
@@ -1,15 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace Ulmus\Query;
|
||||
|
||||
use Ulmus\Query;
|
||||
|
||||
interface QueryBuilderInterface
|
||||
{
|
||||
public function push(Fragment $queryFragment) : self;
|
||||
public function pull(Fragment $queryFragment) : self;
|
||||
public function render(bool $skipToken = false) /* mixed */;
|
||||
public function reset() : void;
|
||||
public function getFragment(string $class, int $index = 0) : ? Fragment;
|
||||
public function removeFragment(Query\Fragment|array|\Stringable|string $fragment) : void;
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
<?php
|
||||
|
||||
namespace Ulmus\Query;
|
||||
|
||||
interface QueryFragmentInterface
|
||||
{
|
||||
public function render() : mixed;
|
||||
}
|
||||
@@ -2,8 +2,6 @@
|
||||
|
||||
namespace Ulmus\Query;
|
||||
|
||||
use Ulmus\MysqlQueryBuilder;
|
||||
|
||||
class Set extends Fragment {
|
||||
|
||||
public int $order = 0;
|
||||
|
||||
@@ -2,8 +2,6 @@
|
||||
|
||||
namespace Ulmus\Query;
|
||||
|
||||
use Ulmus\MysqlQueryBuilder;
|
||||
|
||||
class Values extends Fragment {
|
||||
|
||||
public int $order = 0;
|
||||
@@ -12,9 +10,9 @@ class Values extends Fragment {
|
||||
|
||||
public array $rows;
|
||||
|
||||
public MysqlQueryBuilder $queryBuilder;
|
||||
public QueryBuilderInterface $queryBuilder;
|
||||
|
||||
public function __construct(MysqlQueryBuilder $queryBuilder)
|
||||
public function __construct(QueryBuilderInterface $queryBuilder)
|
||||
{
|
||||
$this->queryBuilder = $queryBuilder;
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user