class DynamicQuery extends Builder

DynamicQuery

  • Illuminate\Database\Query\Builder 를 extends 하여 기능 추가
  • insert, update, delete, select 동작할 때 dynamic, proxy 사용여부에 따라 추가 기능 사용
  • proxy 사용할 때 ProxyManager 에 등록된 Proxy 동작
  • dynamic 을 사용하지 않으면 Illuminate Builder 직접 사용

Properties

protected VirtualConnectionInterface $connection
protected string $table
protected string $targetName ProxyManager 의 Proxy 에서 사용하기 위한 key A table 에 쿼리후 B, C 테이블에 쿼리하기 위해서 특정 이름을 부여함.
protected array $options ProxyManager 로 전달될 값 dynamic() 메소드를 이용할 경우 options 를 지정할 수 있음
protected bool $proxy proxyManager 동작 여부 설정
protected bool $dynamic dynamic query
protected array $schemas schema() 메소드를 통해 가져온 스키마 데이터
protected array $dynamicTables dynamic query 사용하면서 join 된 테이블 정보

Methods

$this
useDynamic(bool $use = true)

dynamic filter 처리 유무

$this
useProxy(bool $use = true)

프록시 처리 유무 설정

$this
setProxyOption(array $options, bool $merge = true)

proxy 를 위한 options 설정

array
schema()

get table schema

$this
setDynamicTable(string $table)

set dynamic join table information

bool
hasDynamicTable(string $table)

has dynamic join table

array
getDynamicTables()

get dynamic join table

array
filter(array $args, array $columns)

$args 로 넘어온 데이터와 $columns 를 비교해서 $args 값을 거른다.

getProxyManager()

get proxy manager

bool
insert(array $args)

insert data

int
insertGetId(array $args, string $sequence = null)

insert data and get id

int
update(array $args)

update data

int
delete(mixed $id = null)

Delete a record from the database.

array|DynamicQuery[]
count(string $columns = '*')

get list

array|DynamicQuery[]
get(array $columns = array('*'))

get list

mixed|DynamicQuery
first(array $columns = array('*'))

get first row

mixed|DynamicQuery
find(int $id, array $columns = array('*'))

Execute a query for a single record by ID.

LengthAwarePaginator
paginate(int $perPage = 15, array $columns = array('*'), string $pageName = 'page', int|null $page = null)

Paginate the given query into a simple paginator.

LengthAwarePaginator
simplePaginate(int $perPage = 15, array $columns = array('*'), string $pageName = 'page')

Get a paginator only supporting simple next and previous links.

Details

at line 99
$this useDynamic(bool $use = true)

dynamic filter 처리 유무

Parameters

bool $use use dynamic flag

Return Value

$this

at line 111
$this useProxy(bool $use = true)

프록시 처리 유무 설정

Parameters

bool $use proxy use

Return Value

$this

at line 124
$this setProxyOption(array $options, bool $merge = true)

proxy 를 위한 options 설정

Parameters

array $options proxy option
bool $merge merge options or not

Return Value

$this

at line 140
private array schema()

get table schema

Return Value

array

at line 151
$this setDynamicTable(string $table)

set dynamic join table information

Parameters

string $table table name

Return Value

$this

at line 165
bool hasDynamicTable(string $table)

has dynamic join table

Parameters

string $table table name

Return Value

bool

at line 175
array getDynamicTables()

get dynamic join table

Return Value

array

at line 189
private array filter(array $args, array $columns)

$args 로 넘어온 데이터와 $columns 를 비교해서 $args 값을 거른다.

처리중인 $columns 와 같은 이름을 데이터만 리턴됨 이 처리는 dynamic 을 통해 proxy 를 처리 할 경우에 대해서 동작됨

Parameters

array $args insert, update data
array $columns table columns

Return Value

array

at line 207
ProxyManager|null getProxyManager()

get proxy manager

Return Value

ProxyManager|null

at line 225
bool insert(array $args)

insert data

Parameters

array $args insert data

Return Value

bool

at line 251
int insertGetId(array $args, string $sequence = null)

insert data and get id

Parameters

array $args insert data
string $sequence sequence

Return Value

int

at line 276
int update(array $args)

update data

Parameters

array $args update data

Return Value

int

at line 300
int delete(mixed $id = null)

Delete a record from the database.

Parameters

mixed $id ID

Return Value

int

at line 322
array|DynamicQuery[] count(string $columns = '*')

get list

Parameters

string $columns get columns list

Return Value

array|DynamicQuery[]

at line 340
array|DynamicQuery[] get(array $columns = array('*'))

get list

Parameters

array $columns get columns list

Return Value

array|DynamicQuery[]

at line 358
mixed|DynamicQuery first(array $columns = array('*'))

get first row

Parameters

array $columns get columns list

Return Value

mixed|DynamicQuery

at line 377
mixed|DynamicQuery find(int $id, array $columns = array('*'))

Execute a query for a single record by ID.

Parameters

int $id ID
array $columns get columns

Return Value

mixed|DynamicQuery

at line 398
LengthAwarePaginator paginate(int $perPage = 15, array $columns = array('*'), string $pageName = 'page', int|null $page = null)

Paginate the given query into a simple paginator.

Parameters

int $perPage count of list
array $columns get columns
string $pageName page parameter name
int|null $page page number

Return Value

LengthAwarePaginator

at line 421
LengthAwarePaginator simplePaginate(int $perPage = 15, array $columns = array('*'), string $pageName = 'page')

Get a paginator only supporting simple next and previous links.

This is more efficient on larger data-sets, etc.

Parameters

int $perPage count of list
array $columns get columns
string $pageName page parameter name

Return Value

LengthAwarePaginator