PHP Класс Angejia\Pea\QueryBuilder

Наследование: extends Illuminate\Database\Query\Builder
Показать файл Открыть проект Примеры использования класса

Открытые методы

Метод Описание
delete ( $id = null )
flush ( ) 过期当前表所有缓存
get ( $columns = ['*'] )
insert ( array $values )
insertGetId ( array $values, $sequence = null )
key ( ) 返回查询对应的缓存 key
setModel ( Model $model )
update ( array $values )

Защищенные методы

Метод Описание
getCache ( ) : Angejia\Pea\Cache
getMeta ( ) : Angejia\Pea\Meta

Приватные методы

Метод Описание
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 ( )

Описание методов

delete() публичный метод

public delete ( $id = null )

flush() публичный метод

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

get() публичный метод

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

getCache() защищенный метод

protected getCache ( ) : Angejia\Pea\Cache
Результат Angejia\Pea\Cache

getMeta() защищенный метод

protected getMeta ( ) : Angejia\Pea\Meta
Результат Angejia\Pea\Meta

insert() публичный метод

public insert ( array $values )
$values array

insertGetId() публичный метод

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

key() публичный метод

仅供调试使用!
public key ( )

setModel() публичный метод

public setModel ( Model $model )
$model Model

update() публичный метод

public update ( array $values )
$values array