本文整理匯總了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;
}