PHP Class Angejia\Pea\QueryBuilder

Inheritance: extends Illuminate\Database\Query\Builder
Datei anzeigen Open project: angejia/pea Class Usage Examples

Public Methods

Method Description
delete ( $id = null )
flush ( ) 过期当前表所有缓存
get ( $columns = ['*'] )
insert ( array $values )
insertGetId ( array $values, $sequence = null )
key ( ) 返回查询对应的缓存 key
setModel ( Model $model )
update ( array $values )

Protected Methods

Method Description
getCache ( ) : Angejia\Pea\Cache
getMeta ( ) : Angejia\Pea\Meta

Private Methods

Method Description
buildAwfulCacheKey ( )
buildCacheKeys ( )
buildRowCacheKey ( $keyValues ) 构造行级缓存索引
buildTableCacheKey ( $sql, $bindings ) 构造表级缓存索引
db ( ) 获取当前查询所用的数据库名称
fireEvent ( $name, $data = [] )
flushAffectingRowCache ( ) 查找受影响的 ID,清空相关行级缓存
getAwful ( )
getNormal ( )
getSimple ( ) 简单查询,只根据主键过滤结果集
hasRawColumn ( $columns )
isAwful ( ) 判断当前查询是否未「复杂查询」,判断标准 1. 含有 max, sum 等汇聚函数 2. 包含 distinct 指令 3. 包含分组 4. 包含连表 5. 包含联合 6. 包含子查询 7. 包含原生(raw)语句 8. 包含排序 TODO 优化此类情形
isNormal ( ) 判断当前查询是否未「普通查询」
isSimple ( ) 「简单查询」就是只根据主键过滤结果集的查询,有以下两种形式: 1. select * from foo where id = 1; 2. select * from foo where id in (1, 2, 3);
needCache ( )
needFlushCache ( )

Method Details

delete() public method

public delete ( $id = null )

flush() public method

过期当前表所有缓存
public flush ( )

get() public method

public get ( $columns = ['*'] )

getCache() protected method

protected getCache ( ) : Angejia\Pea\Cache
return Angejia\Pea\Cache

getMeta() protected method

protected getMeta ( ) : Angejia\Pea\Meta
return Angejia\Pea\Meta

insert() public method

public insert ( array $values )
$values array

insertGetId() public method

public insertGetId ( array $values, $sequence = null )
$values array

key() public method

仅供调试使用!
public key ( )

setModel() public method

public setModel ( Model $model )
$model Model

update() public method

public update ( array $values )
$values array