class Model

基础Model类,在CmlPHP中负责数据的存取(目前包含db/cache以及为了简化操作db而封装的快捷方法)

以下方法只是为了方便配合Model中的快捷方法(http://doc.cmlphp.com/devintro/model/mysql/fastmethod/readme.html)使用 并没有列出db中的所有方法。其它未列出的方法建议还是通过$this->db()->xxx使用

Methods

Pdo
db( string $conf = '')

获取db实例

closeDb( string $conf = 'default_db')

当程序连接N个db的时候用于释放于用连接以节省内存

cache( string $conf = 'default_cache')

获取cache实例

static  Model
getInstance()

初始化一个Model实例

string
getTableName( bool $addTablePrefix = false)

获取表名

bool|array
getByColumn( mixed $val, string $column = null, string $tableName = null, mixed $tablePrefix = null)

通过某个字段获取单条数据-快捷方法

bool|array
getMultiByColumn( mixed $val, string $column = null, string $tableName = null, mixed $tablePrefix = null)

通过某个字段获取多条数据-快捷方法

int
set( array $data, string $tableName = null, mixed $tablePrefix = null)

增加一条数据-快捷方法

bool
setMulti( array $field, array $data, string $tableName = null, mixed $tablePrefix = null, bool $openTransAction = true)

增加多条数据-快捷方法

bool
updateByColumn( int $val, array $data, string $column = null, string $tableName = null, mixed $tablePrefix = null)

通过字段更新数据-快捷方法

bool
delByColumn( mixed $val, string $column = null, string $tableName = null, mixed $tablePrefix = null)

通过主键删除数据-快捷方法

mixed
getTotalNums( null $pkField = null, string $tableName = null, mixed $tablePrefix = null)

获取数据的总数

array
getList( int $offset, int $limit = 20, string|array $order = 'DESC', string $tableName = null, mixed $tablePrefix = null)

获取数据列表

array
getListByPaginate( int $limit = 20, string|array $order = 'DESC', string $tableName = null, mixed $tablePrefix = null)

以分页的方式获取数据列表

string
getDbConf()

获取当前Model的数据库配置串

Pdo
mapDbAndTable()

自动根据 db属性执行$this->db(xxx)方法; table/tablePrefix属性执行$this->db('xxx')->table('tablename', 'tablePrefix')方法

Pdo
__call($dbMethod, $arguments)

当访问model中不存在的方法时直接调用$this->db()的相关方法

static  Pdo
__callStatic($dbMethod, $arguments)

当访问model中不存在的方法时直接调用相关model中的db()的相关方法

Db|Model
where( array $column, int $value = '')

where条件组装-相等

Db|Model
whereNot( string $column, int $value)

where条件组装-不等

Db|Model
whereGt( string $column, int $value = '')

where条件组装-大于

Db|Model
whereLt( string $column, int $value = '')

where条件组装-小于

Db|Model
whereGte( string $column, int $value = '')

where条件组装-大于等于

Db|Model
whereLte( string $column, int $value = '')

where条件组装-小于等于

Db|Model
whereIn( string $column, array $value)

where条件组装-IN

Db|Model
whereNotIn( string $column, array $value)

where条件组装-NOT IN

Db|Model
whereLike( string $column, bool $leftBlur = false, string $value, bool $rightBlur = false)

where条件组装-LIKE

Db|Model
whereNotLike( string $column, bool $leftBlur = false, string $value, bool $rightBlur = false)

where条件组装-NOT LIKE

Db|Model
whereRegExp( string $column, string $value)

where条件组装-RegExp

Db|Model
whereBetween( string $column, int $value, int $value2 = null)

where条件组装-BETWEEN

Db|Model
whereNotBetween( string $column, int $value, int $value2 = null)

where条件组装-NotBetween

Db|Model
whereNull( string $column)

where条件组装-IS NULL

Db|Model
whereNotNull( string $column)

where条件组装-IS NOT NULL

Db|Model
columns( array $columns = '*')

选择列

Db|Model
orderBy( string $column, string $order = 'ASC')

排序

Db|Model
groupBy( string $column)

分组

Db|Model
having( string $column, $operator = '=', $value)

分组

Db|Model
paramsAutoReset( bool $autoReset = true, bool $alwaysClearTable = false, bool $alwaysClearColumns = true)

orm参数是否自动重置, 默认在执行语句后会重置orm参数, 包含查询的表、字段信息、条件等信息

Db|Model
noCache()

标记本次查询不使用缓存

Details

at line line 87
Pdo db( string $conf = '')

获取db实例

Parameters

string $conf 使用的数据库配置;

Return Value

Pdo | \Cml\Db\MongoDB\MongoDB | \Cml\Db\Base

at line line 112
closeDb( string $conf = 'default_db')

当程序连接N个db的时候用于释放于用连接以节省内存

Parameters

string $conf 使用的数据库配置;

at line line 125
Redis cache( string $conf = 'default_cache')

获取cache实例

Parameters

string $conf 使用的缓存配置;

Return Value

Redis | \Cml\Cache\Apc | \Cml\Cache\File | \Cml\Cache\Memcache

at line line 151
static Model getInstance()

初始化一个Model实例

Return Value

Model | \Cml\Db\MySql\Pdo | \Cml\Db\MongoDB\MongoDB | \Cml\Db\Base | $this

at line line 168
string getTableName( bool $addTablePrefix = false)

获取表名

Parameters

bool $addTablePrefix 是否返回带表前缀的完整表名

Return Value

string

at line line 193
bool|array getByColumn( mixed $val, string $column = null, string $tableName = null, mixed $tablePrefix = null)

通过某个字段获取单条数据-快捷方法

Parameters

mixed $val
string $column 字段名 不传会自动分析表结构获取主键
string $tableName 表名 不传会自动从当前Model中$table属性获取
mixed $tablePrefix 表前缀 不传会自动从当前Model中$tablePrefix属性获取再没有则获取配置中配置的前缀

Return Value

bool|array

at line line 213
bool|array getMultiByColumn( mixed $val, string $column = null, string $tableName = null, mixed $tablePrefix = null)

通过某个字段获取多条数据-快捷方法

Parameters

mixed $val
string $column 字段名 不传会自动分析表结构获取主键
string $tableName 表名 不传会自动从当前Model中$table属性获取
mixed $tablePrefix 表前缀 不传会自动从当前Model中$tablePrefix属性获取再没有则获取配置中配置的前缀

Return Value

bool|array

at line line 232
int set( array $data, string $tableName = null, mixed $tablePrefix = null)

增加一条数据-快捷方法

Parameters

array $data 要新增的数据
string $tableName 表名 不传会自动从当前Model中$table属性获取
mixed $tablePrefix 表前缀 不传会自动从当前Model中$tablePrefix属性获取再没有则获取配置中配置的前缀

Return Value

int

at line line 250
bool setMulti( array $field, array $data, string $tableName = null, mixed $tablePrefix = null, bool $openTransAction = true)

增加多条数据-快捷方法

Parameters

array $field 要插入的字段 eg: ['title', 'msg', 'status', 'ctime’]
array $data 多条数据的值 eg: [['标题1', '内容1', 1, '2017'], ['标题2', '内容2', 1, '2017']]
string $tableName 表名 不传会自动从当前Model中$table属性获取
mixed $tablePrefix 表前缀 不传会自动从当前Model中$tablePrefix属性获取再没有则获取配置中配置的前缀
bool $openTransAction 是否开启事务 默认开启

Return Value

bool | array

at line line 268
bool updateByColumn( int $val, array $data, string $column = null, string $tableName = null, mixed $tablePrefix = null)

通过字段更新数据-快捷方法

Parameters

int $val 字段值
array $data 更新的数据
string $column 字段名 不传会自动分析表结构获取主键
string $tableName 表名 不传会自动从当前Model中$table属性获取
mixed $tablePrefix 表前缀 不传会自动从当前Model中$tablePrefix属性获取再没有则获取配置中配置的前缀

Return Value

bool

at line line 287
bool delByColumn( mixed $val, string $column = null, string $tableName = null, mixed $tablePrefix = null)

通过主键删除数据-快捷方法

Parameters

mixed $val
string $column 字段名 不传会自动分析表结构获取主键
string $tableName 表名 不传会自动从当前Model中$table属性获取
mixed $tablePrefix 表前缀 不传会自动从当前Model中$tablePrefix属性获取再没有则获取配置中配置的前缀

Return Value

bool

at line line 305
mixed getTotalNums( null $pkField = null, string $tableName = null, mixed $tablePrefix = null)

获取数据的总数

Parameters

null $pkField 主键的字段名
string $tableName 表名 不传会自动从当前Model中$table属性获取
mixed $tablePrefix 表前缀 不传会自动从当前Model中$tablePrefix属性获取再没有则获取配置中配置的前缀

Return Value

mixed

at line line 324
array getList( int $offset, int $limit = 20, string|array $order = 'DESC', string $tableName = null, mixed $tablePrefix = null)

获取数据列表

Parameters

int $offset 偏移量
int $limit 返回的条数
string|array $order 传asc 或 desc 自动取主键 或 ['id'=>'desc', 'status' => 'asc']
string $tableName 表名 不传会自动从当前Model中$table属性获取
mixed $tablePrefix 表前缀 不传会自动从当前Model中$tablePrefix属性获取再没有则获取配置中配置的前缀

Return Value

array

at line line 348
array getListByPaginate( int $limit = 20, string|array $order = 'DESC', string $tableName = null, mixed $tablePrefix = null)

以分页的方式获取数据列表

Parameters

int $limit 每页返回的条数
string|array $order 传asc 或 desc 自动取主键 或 ['id'=>'desc', 'status' => 'asc']
string $tableName 表名 不传会自动从当前Model中$table属性获取
mixed $tablePrefix 表前缀 不传会自动从当前Model中$tablePrefix属性获取再没有则获取配置中配置的前缀

Return Value

array

at line line 366
string getDbConf()

获取当前Model的数据库配置串

Return Value

string

at line line 376
Pdo mapDbAndTable()

自动根据 db属性执行$this->db(xxx)方法; table/tablePrefix属性执行$this->db('xxx')->table('tablename', 'tablePrefix')方法

Return Value

Pdo | \Cml\Db\MongoDB\MongoDB | \Cml\Db\Base

at line line 389
Pdo __call($dbMethod, $arguments)

当访问model中不存在的方法时直接调用$this->db()的相关方法

Parameters

$dbMethod
$arguments

Return Value

Pdo | \Cml\Db\MongoDB\MongoDB | $this

at line line 407
static Pdo __callStatic($dbMethod, $arguments)

当访问model中不存在的方法时直接调用相关model中的db()的相关方法

Parameters

$dbMethod
$arguments

Return Value

Pdo | \Cml\Db\MongoDB\MongoDB | self

at line line 43
Db|Model where( array $column, int $value = '')

where条件组装-相等

Parameters

array $column
int $value

Return Value

Db|Model

at line line 43
Db|Model whereNot( string $column, int $value)

where条件组装-不等

Parameters

string $column
int $value

Return Value

Db|Model

at line line 43
Db|Model whereGt( string $column, int $value = '')

where条件组装-大于

Parameters

string $column
int $value

Return Value

Db|Model

at line line 43
Db|Model whereLt( string $column, int $value = '')

where条件组装-小于

Parameters

string $column
int $value

Return Value

Db|Model

at line line 43
Db|Model whereGte( string $column, int $value = '')

where条件组装-大于等于

Parameters

string $column
int $value

Return Value

Db|Model

at line line 43
Db|Model whereLte( string $column, int $value = '')

where条件组装-小于等于

Parameters

string $column
int $value

Return Value

Db|Model

at line line 43
Db|Model whereIn( string $column, array $value)

where条件组装-IN

Parameters

string $column
array $value

Return Value

Db|Model

at line line 43
Db|Model whereNotIn( string $column, array $value)

where条件组装-NOT IN

Parameters

string $column
array $value

Return Value

Db|Model

at line line 43
Db|Model whereLike( string $column, bool $leftBlur = false, string $value, bool $rightBlur = false)

where条件组装-LIKE

Parameters

string $column
bool $leftBlur
string $value
bool $rightBlur

Return Value

Db|Model

at line line 43
Db|Model whereNotLike( string $column, bool $leftBlur = false, string $value, bool $rightBlur = false)

where条件组装-NOT LIKE

Parameters

string $column
bool $leftBlur
string $value
bool $rightBlur

Return Value

Db|Model

at line line 43
Db|Model whereRegExp( string $column, string $value)

where条件组装-RegExp

Parameters

string $column
string $value

Return Value

Db|Model

at line line 43
Db|Model whereBetween( string $column, int $value, int $value2 = null)

where条件组装-BETWEEN

Parameters

string $column
int $value
int $value2

Return Value

Db|Model

at line line 43
Db|Model whereNotBetween( string $column, int $value, int $value2 = null)

where条件组装-NotBetween

Parameters

string $column
int $value
int $value2

Return Value

Db|Model

at line line 43
Db|Model whereNull( string $column)

where条件组装-IS NULL

Parameters

string $column

Return Value

Db|Model

at line line 43
Db|Model whereNotNull( string $column)

where条件组装-IS NOT NULL

Parameters

string $column

Return Value

Db|Model

at line line 43
Db|Model columns( array $columns = '*')

选择列

Parameters

array $columns

Return Value

Db|Model

at line line 43
Db|Model orderBy( string $column, string $order = 'ASC')

排序

Parameters

string $column
string $order

Return Value

Db|Model

at line line 43
Db|Model groupBy( string $column)

分组

Parameters

string $column

Return Value

Db|Model

at line line 43
Db|Model having( string $column, $operator = '=', $value)

分组

Parameters

string $column
$operator
$value

Return Value

Db|Model

at line line 43
Db|Model paramsAutoReset( bool $autoReset = true, bool $alwaysClearTable = false, bool $alwaysClearColumns = true)

orm参数是否自动重置, 默认在执行语句后会重置orm参数, 包含查询的表、字段信息、条件等信息

Parameters

bool $autoReset
bool $alwaysClearTable
bool $alwaysClearColumns

Return Value

Db|Model

at line line 43
Db|Model noCache()

标记本次查询不使用缓存

Return Value

Db|Model