for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
/**
* Created by PhpStorm.
* User: guoliang
* Date: 2019/3/11
* Time: δΈε10:11
*/
namespace Modules\Core\Criteria;
use Illuminate\Http\Request;
use Modules\Core\Traits\Criteria\{
ParserFilterTrait,
ParserOrderByTrait,
ParserSearchableTrait,
ParserWithTrait
};
use Prettus\Repository\Contracts\{
CriteriaInterface,
RepositoryInterface
class RequestCriteria implements CriteriaInterface
{
protected $request;
protected $model;
protected $repository;
protected $search;
protected $searchData;
protected $searchFields;
protected $isFirstField = true;
protected $modelForceAndWhere;
protected $fieldsSearchable;
protected $fields;
protected $filter;
protected $orderBy;
protected $sortedBy;
protected $with;
protected $searchJoin;
protected $acceptedConditions;
protected $originalFields;
use ParserSearchableTrait;
use ParserOrderByTrait;
use ParserFilterTrait;
use ParserWithTrait;
public function __construct(Request $request)
$this->request = $request;
}
* @param $model
* @param \Prettus\Repository\Contracts\RepositoryInterface $repository
* @return mixed
* @throws \Exception
public function apply($model, RepositoryInterface $repository)
$this->model = $model;
$this->repository = $repository;
$this->parserSearchable();
$this->parserOrderBy();
$this->parserFilter();
$this->parserWith();
return $this->model;