本文整理汇总了PHP中dao::find方法的典型用法代码示例。如果您正苦于以下问题:PHP dao::find方法的具体用法?PHP dao::find怎么用?PHP dao::find使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类dao
的用法示例。
在下文中一共展示了dao::find方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: jqgrid_show_results
/**
* jqgrid显示所有结果
* @param dao $dao 当前使用的dao
* @param array $options
* @param int $page 当前页面
* @param int $rows 每页显示数目
* @param array $options 扩展配置项
<p> string sidx 排序域名</p>
<p> string sord 排序方式</p>
<p> boolean search 是否为搜索</p>
<p> array filters 多条件搜索条件数据</p>
<p> string searchField 多条件搜索域</p>
<p> string searchString 多条件搜索值</p>
<p> string searchOper 多条件搜索操作符</p>
<p> string fields 搜索的域</p>
<p> string order 搜索时默认的排序方式</p>
<p> string where 搜索时默认的排序条件</p>
<p> boolean returnJson 是否返回json格式数组,默认为true</p>
<p> boolean needWhere 是否一定要有设置的where条件,为true时 where不能为空</p>
* @return json|array 默认返回json数据
*/
private function jqgrid_show_results($dao, $page, $rows, $options)
{
//排序方式
if (isset($options['sidx']) && isset($options['sord'])) {
$order = $options['sidx'] . ' ' . $options['sord'];
} else {
$order = '';
}
if (!empty($options['where'])) {
$conditions = $options['where'];
}
//表示是查找功能,会重置查询条件
if ($options['search']) {
//多条件查询
$multipleSearch = stripcslashes($options['filters']);
//多值查询
if (!empty($multipleSearch)) {
//条件转化为数组格式
$multipleSearch = json_decode($multipleSearch, true);
$conditions = $this->multiple_earch_condition($multipleSearch);
} else {
if ($options['searchOper']) {
//获得单个查询的条件
$conditions = $this->get_search_string($options['searchField'], $options['searchString'], $options['searchOper']);
}
}
}
if ($options['needWhere'] == true && !empty($options['where'])) {
$conditions = array_merge($conditions, $options['where']);
}
$modelOptions = array();
if (!empty($options['joins'])) {
$modelOptions['joins'] = $options['joins'];
}
//查询条件
if (!empty($conditions)) {
$modelOptions['conditions'] = $conditions;
}
//获得总记录条数
$counts = $dao->find('count', $modelOptions);
if ($counts > 0) {
//排序方式
$modelOptions['order'] = $order;
//查询字段
if (isset($options['fields'])) {
$modelOptions['fields'] = $options['fields'];
}
//获得查询结果
$modelOptions['limit'] = $rows;
$modelOptions['offset'] = ($page - 1) * $rows;
$results = $dao->find('all', $modelOptions);
} else {
$results = array();
}
$total = ceil($counts / $rows);
//去除表名,使用别名形式
$results = $this->del_tablename($results);
$json['page'] = $page;
$json['records'] = $counts;
$json['total'] = $total;
$json['results'] = $results;
//获得执行的sql
//print_r($dao->getDataSource()->getLog(false,false));
//默认返回json数据
if (!isset($options['returnJson']) || $options['returnJson']) {
return $this->json_key_result($json);
}
return $json;
}