abstract class DynamicModel extends Model

DynamicModel

  • Illuminate\Database\Eloquent\Model extends
  • DynamicQuery 를 처리하기 위해 proxy, dynamic 관련 설정 요소 추가
  • XE3 에서 Database column 이름을 Camel case 로 사용함에 따른 날짜 column 이름 수정
  • 레코드 추가할 때 Xpressengine\Keygen\Keygen 을 이용한 id 자동 생성 기능

Constants

CREATED_AT

column nam of created at

UPDATED_AT

column nam of updated at

DELETED_AT

column nam of deleted at

Properties

static protected Keygen $keyGenerator
static protected ConnectionResolverInterface $resolver The connection resolver instance.
static protected array $macros The registered macros.
protected array $proxyOptions
protected bool $dynamic
protected array $dynamicAttributes dynamic mode 애서 사용될 attributes

Methods

array
filter(array $args, array $columns = array())

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

array
schema()

get table schema

void
fill(array $attributes)

fill

getKeyGen()

get key generator

static void
setKeyGen(Keygen $keyGenerator)

Set key generator

static Connection
resolveConnection(string|null $connection = null)

Resolve a connection instance.

static ConnectionResolverInterface
getConnectionResolver()

Get the connection resolver instance.

static void
setConnectionResolver(ConnectionResolverInterface $resolver)

Set the connection resolver instance.

static void
unsetConnectionResolver()

Unset the connection resolver for models.

$this
setDynamic(bool $use)

dynamic query 사용하도록 설정

$this
setProxyOptions(array $options)

proxy option 설정

array
getProxyOptions()

get proxy option

array
getDynamicAttributes()

get dynamic attributes

newEloquentBuilder(DynamicQuery $query)

Create a new Eloquent query builder for the model.

newBaseQueryBuilder()

Illuminate Model 의 newBaseQueryBuilder 변경 VirtualConnection 을 통해 DynamicQuery 를 사용하도록 처리

bool
performInsert(Builder $query, array $options = array())

No description

bool
save(array $options = array())

Save the model to the database.

static void
macro(string $name, callable $macro)

Register a custom macro.

static bool
hasMacro(string $name)

Checks if macro is registered.

mixed
callMacro(string $name, array $parameters = array())

call macro

mixed
getMacroValue(string $name)

get macro value

mixed
__call(string $method, array $parameters)

Handle dynamic method calls into the model.

mixed
__get(string $key)

Dynamically retrieve attributes on the model.

Details

at line 103
array filter(array $args, array $columns = array())

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

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

Parameters

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

Return Value

array

at line 124
private array schema()

get table schema

Return Value

array

at line 135
void fill(array $attributes)

fill

Parameters

array $attributes attributes

Return Value

void

at line 150
Keygen getKeyGen()

get key generator

Return Value

Keygen

at line 164
static void setKeyGen(Keygen $keyGenerator)

Set key generator

Parameters

Keygen $keyGenerator key generator

Return Value

void

at line 175
static Connection resolveConnection(string|null $connection = null)

Resolve a connection instance.

Parameters

string|null $connection connection name

Return Value

Connection

at line 185
static ConnectionResolverInterface getConnectionResolver()

Get the connection resolver instance.

Return Value

ConnectionResolverInterface

at line 196
static void setConnectionResolver(ConnectionResolverInterface $resolver)

Set the connection resolver instance.

Parameters

ConnectionResolverInterface $resolver resolver

Return Value

void

at line 206
static void unsetConnectionResolver()

Unset the connection resolver for models.

Return Value

void

at line 217
$this setDynamic(bool $use)

dynamic query 사용하도록 설정

Parameters

bool $use use dynamic query

Return Value

$this

at line 228
$this setProxyOptions(array $options)

proxy option 설정

Parameters

array $options proxy options

Return Value

$this

at line 239
array getProxyOptions()

get proxy option

Return Value

array

at line 249
array getDynamicAttributes()

get dynamic attributes

Return Value

array

at line 261
Builder|DynamicModel newEloquentBuilder(DynamicQuery $query)

Create a new Eloquent query builder for the model.

Xpressengine\Database\Eloquent\Builder 울 사용하도록 변경

Parameters

DynamicQuery $query dynamic query builder

Return Value

Builder|DynamicModel

at line 272
protected DynamicQuery newBaseQueryBuilder()

Illuminate Model 의 newBaseQueryBuilder 변경 VirtualConnection 을 통해 DynamicQuery 를 사용하도록 처리

Return Value

DynamicQuery

at line 291
protected bool performInsert(Builder $query, array $options = array())

Parameters

Builder $query Illuminate database eloquent buildere
array $options options

Return Value

bool

at line 305
bool save(array $options = array())

Save the model to the database.

Parameters

array $options options

Return Value

bool

at line 321
static void macro(string $name, callable $macro)

Register a custom macro.

Parameters

string $name macro name
callable $macro callable

Return Value

void

at line 332
static bool hasMacro(string $name)

Checks if macro is registered.

Parameters

string $name macro name

Return Value

bool

at line 343
mixed callMacro(string $name, array $parameters = array())

call macro

Parameters

string $name macro name
array $parameters parameters

Return Value

mixed

at line 359
mixed getMacroValue(string $name)

get macro value

Parameters

string $name macro name

Return Value

mixed

at line 376
mixed __call(string $method, array $parameters)

Handle dynamic method calls into the model.

Parameters

string $method method
array $parameters parameters

Return Value

mixed

at line 391
mixed __get(string $key)

Dynamically retrieve attributes on the model.

Parameters

string $key key

Return Value

mixed