Skip to content

Commit

Permalink
chore:添加单元测试
Browse files Browse the repository at this point in the history
  • Loading branch information
zyimm committed Jun 6, 2023
1 parent 4724890 commit 91aadbd
Show file tree
Hide file tree
Showing 3 changed files with 86 additions and 91 deletions.
11 changes: 3 additions & 8 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,8 @@
"laravel/framework": ">=5.5"
},
"require-dev": {
"barryvdh/laravel-debugbar": "^3.0.0"
"barryvdh/laravel-debugbar": "^3.0.0",
"phpunit/phpunit": "8.5.x-dev"
},
"autoload": {
"psr-4": {
Expand All @@ -38,11 +39,5 @@
"zyimm\\query\\QueryBuilderServiceProvider"
]
}
},
"repositories": [
{
"type": "composer",
"url": "https://mirrors.aliyun.com/composer/"
}
]
}
}
66 changes: 33 additions & 33 deletions src/QueryBuilderServiceProvider.php
Original file line number Diff line number Diff line change
@@ -1,33 +1,33 @@
<?php


namespace zyimm\query;


use Illuminate\Support\ServiceProvider;
use zyimm\query\build\QueryWhere;

class QueryBuilderServiceProvider extends ServiceProvider
{
/**
* Perform post-registration booting of services.
*
* @return void
*/
public function boot()
{
//...
}

/**
* Register any package services.
*
* @return void
*/
public function register()
{
//bind QueryWhere
$this->app->bind('QueryWhere', QueryWhere::class);
}

}
<?php


namespace zyimm\query;


use Illuminate\Support\ServiceProvider;
use zyimm\query\build\QueryWhere;

class QueryBuilderServiceProvider extends ServiceProvider
{
/**
* Perform post-registration booting of services.
*
* @return void
*/
public function boot()
{
//...
}

/**
* Register any package services.
*
* @return void
*/
public function register()
{
//bind QueryWhere
$this->app->bind('QueryWhere', QueryWhere::class);
}

}
100 changes: 50 additions & 50 deletions src/build/QueryWhere.php
Original file line number Diff line number Diff line change
@@ -1,50 +1,50 @@
<?php

namespace zyimm\query\build;

use Illuminate\Database\Eloquent\Builder;
use zyimm\query\build\resolves\QueryBuilder;

/**
* Class QueryWhere
*
* @package zyimm\query
*/
class QueryWhere
{

/**
* buildQueryWhere
*
* @param $params
* @param $condition
* @param $query
*/
public function buildQueryWhere($params, $condition, &$query)
{
$where = (new QueryBuilder($condition, $params))->build();
//自动执行闭包查询
$this->executeQuery($where, $query);
}

/**
* Execute closure query
*
* @param $where
* @param $query Builder
*/
private function executeQuery($where, Builder &$query)
{
foreach ($where as $extra) {
if (stripos($extra[1],'.') !== false) {
$operator = explode('.', $extra[1]);
$extra[1] = reset($operator);
$operator = array_pop($operator);
} else {
$operator = $extra[1];
unset($extra[1]);
}
call_user_func_array([$query, $operator], $extra);
}
}
}
<?php

namespace zyimm\query\build;

use Illuminate\Database\Eloquent\Builder;
use zyimm\query\build\resolves\QueryBuilder;

/**
* Class QueryWhere
*
* @package zyimm\query
*/
class QueryWhere
{

/**
* buildQueryWhere
*
* @param $params
* @param $condition
* @param $query
*/
public function buildQueryWhere($params, $condition, $query)
{
$where = (new QueryBuilder($condition, $params))->build();
//自动执行闭包查询
$this->executeQuery($where, $query);
}

/**
* Execute closure query
*
* @param $where
* @param $query Builder
*/
private function executeQuery($where, Builder $query)
{
foreach ($where as $extra) {
if (stripos($extra[1],'.') !== false) {
$operator = explode('.', $extra[1]);
$extra[1] = reset($operator);
$operator = array_pop($operator);
} else {
$operator = $extra[1];
unset($extra[1]);
}
call_user_func_array([$query, $operator], $extra);
}
}
}

0 comments on commit 91aadbd

Please sign in to comment.