静态查询方法
直接调用模型中的 dbs()
静态方法
get()
获取单条记录
ActLog::dbs()->get($where = null, string $fields = null)
$where
请参考 构造查询条件, $fields
返回数据字段
latest()
获取最新数据
ActLog::dbs()->latest($where = null, string $fields = null)
$where
请参考 构造查询条件, $fields
返回数据字段
id()
按主键查询
ActLog::dbs()->id($id)
$id
参数为主键值
has()
查询记录是否存在
ActLog::dbs()->has($where = null): bool
$where
请参考 构造查询条件
count()
获取记录总条数
ActLog::dbs()->count($where = null): int
$where
请参考 构造查询条件
getAll()
查询所有数据
ActLog::dbs()->getAll($where = null, string $fields = null, $order = null, $groupBy = null, $limit = null)
$where
请参考 构造查询条件$fields
返回字段ActLog::dbs()->fields('*')
$order
排序字段ActLog::dbs()->orderBy('1 desc')
$groupBy
分组字段ActLog::dbs()->groupBy('xx')
$limit
返回条数ActLog::dbs()->limit()
除了$where
外, 其余参数支持链式写法
ActLog::dbs()->fields('*')
->orderBy('1 desc')
->groupBy('1 desc')
->limit(1)
->getAll();
find()
要返回带分页的数据可以使用find()
方法, find()
方法的第5个参数传入引用, 就可以返回分页数据
ActLog::dbs()->find(array &$page = ['p' => 1, 'limit' => 50], $where = null, string $fields = null, $order = null, $groupBy = null)
分页参数需要包含以下值
['p' => 1, 'limit' => 50]
p
表示当前页数, limit
表示一次取多少条, 如果传入了result_count
, 内部不再去计算当前条件下的总条数, 会根据result_count
返回相应的分页数据.
参数列表
$where
请参考 构造查询条件$fields
返回字段ActLog::dbs()->fields('*')
$order
排序字段ActLog::dbs()->orderBy('1 desc')
$groupBy
分组字段ActLog::dbs()->groupBy('xx')
可以使用链式调用来替代传参
$data = ActLog::dbs()->fields('*')
->orderBy('1 desc')
->groupBy('1 desc')
->find($page);
rawWhere
原生参数查询
ActLog::dbs()->rawWhere('id = ?', 31)->stmt()->fetchAll(\PDO::FETCH_ASSOC);
手动拼接查询条件
rawPrepare
执行手动参数绑定
$id = 31;
$stmt = ActLog::dbs()->rawPrepare('select * from cpa_act_log where id = :id');
$stmt->bindParam(':id', $id);
$stmt->execute();
$data = $stmt->fetchAll(\PDO::FETCH_ASSOC);
rawSql
执行一条原生查询语句
ActLog::dbs()->rawSql('select * from cpa_act_log')->fetchAll(\PDO::FETCH_ASSOC);
带参数
ActLog::dbs()->rawSql('select * from cpa_act_log where id = ?', 31)->fetchAll(\PDO::FETCH_ASSOC);
插入数据
ActLog::dbs()
->rawSql("INSERT INTO `test`.`cpa_act_log`(`name`, `type`, `controller`, `action`) VALUES ('admin', 'get', 'uu', 'a')", 31)->execute();
插入带参数的数据
ActLog::dbs()
->rawSql("INSERT INTO `test`.`cpa_act_log`(`name`, `type`, `controller`, `action`) VALUES (?, ?, 'uu', 'a')", 'ideaa', 'im')
->execute();