# 查詢
查詢一行
* get($where)
查詢多行
* all($where)
## 返回值說明
* `get`返回的是一個`EasySwoole\ORM\AbstractModel`實例,可以**復用**進行模型的其他操作 當沒有查詢結果時返回`null`
* `all`返回的是一個數組,里面的每一個元素都是`EasySwoole\ORM\AbstractModel`實例
## 多種傳參方式
在以上方法列表中,最重要的是`$where`參數,可以實現多種使用方式
~~~php
// 通過主鍵
$res = UserModel::create()->get(1);
// 通過key=>value 數組
$res = UserModel::create()->get([
'u_id' => 1,
'u_state' => 0,
'is_vip' => 1
]);
// 通過閉包方式,構造復雜的sql
// 這是一種很強大靈活的方式,閉包的參數是一個mysqli組件的查詢構造器,可以調用所有連貫操作
// http://www.easyswoole.com/Components/Mysqli/builder.html
$res = UserModel::create()->get(function(QueryBuilder $queryBuilder){
$queryBuilder->where('u_state', 1);
$queryBuilder->where('age', 12, '>');// 各種特殊操作符 between like != 等等都可以完成
$queryBuilder->order('u_id');
});
// 連貫操作,繼續可以往下查看ORM的文檔
$res = UserModel::create()->where('u_id', 1)->get();
~~~
## 分頁
limit和withTotalCount,獲取分頁列表數據以及總條數。
下面模擬獲取分頁列表數據,page為頁碼,limit為每頁顯示多少條數。
~~~php
$page = 1; // 當前頁碼
$limit = 10; // 每頁多少條數據
$model = AdminModel::create()->limit($limit * ($page - 1), $limit)->withTotalCount();
// 列表數據
$list = $model->all(null);
$result = $model->lastQueryResult();
// 總條數
$total = $result->getTotalCount();
~~~