\App\Api\Request\DBDBRequest

Enables PHP classes to convert API request parameters to their query counterparts. Supports relations.

Summary

Methods
Properties
Constants
No public methods found
No public properties found
No constants found
_rules()
addWhere()
additionalQuery()
buildQuery()
onResults()
$defaultScope
N/A
No private methods found
No private properties found
N/A

Properties

$defaultScope

$defaultScope : string|null

Public scope to be used by default. Null if the scope parameter is required.

Type

string|null

Methods

_rules()

_rules(\Illuminate\Support\Collection  $parameters, \Illuminate\Validation\Validator  $validator = null) : array

Returns validation rules for the request parameters. Should be used by abstract classes and should always concatenate result with parent implementation

Parameters

\Illuminate\Support\Collection $parameters
\Illuminate\Validation\Validator $validator

Returns

array

addWhere()

addWhere(\Illuminate\Database\Eloquent\Builder  $query, string  $param, string  $operator = null, mixed  $value = null, string  $boolean = 'and') 

Converts API request parameter to its query counterpart. Supports relations using forward slash notation.

Parameters

\Illuminate\Database\Eloquent\Builder $query
string $param

The parameter. Forward slash notation defines relations.

string $operator

See {@see Builder::where}

mixed $value

See {@see Builder::where}

string $boolean

See {@see Builder::where}

additionalQuery()

additionalQuery(\Illuminate\Database\Eloquent\Builder|\Laravel\Scout\Builder  $query, \Illuminate\Support\Collection  $parameters) : \Illuminate\Database\Eloquent\Builder|\Laravel\Scout\Builder

Used to add additional parameters to the query

Parameters

\Illuminate\Database\Eloquent\Builder|\Laravel\Scout\Builder $query
\Illuminate\Support\Collection $parameters

Returns

\Illuminate\Database\Eloquent\Builder|\Laravel\Scout\Builder

buildQuery()

buildQuery(\Illuminate\Support\Collection  $parameters) : \Illuminate\Database\Eloquent\Builder

Builds the query from parameters

Parameters

\Illuminate\Support\Collection $parameters

Throws

\Illuminate\Auth\Access\AuthorizationException

Returns

\Illuminate\Database\Eloquent\Builder

onResults()

onResults(array<mixed,\Illuminate\Database\Eloquent\Model>|\Illuminate\Database\Eloquent\Model  $results) 

Called after the query is requested.

Parameters

array<mixed,\Illuminate\Database\Eloquent\Model>|\Illuminate\Database\Eloquent\Model $results