## **簡介**
我們日常中最常用的就是查詢操作。
**1.get():獲取所有數據**
```
$users = DB::table('users')->get();
return view('user.index', ['users' => $users]);
```
在模板中輸出
```
@foreach ($users as $user)
<p>{{$user->name}}</p>
@endforeach
```
**2.value():獲取單一字段一條**
```
DB::table('users')->where('id', '1')->value('email');
```
**3.pluck():獲取單一字段多條**
```
DB::table('user')->pluck('name');
```
**4.count():獲取數據條數**
```
DB::table('users')->count();
```
**5.max():獲取最大值**
```
DB::table('user')->max('age');
```
**6.min():獲取最小值**
```
DB::table('user')->min('age');
```
**7.avg():獲取平均值**
```
DB::table('user')->avg('age');
```
**8.sum():求和**
```
DB::table('user')->sum('age');
```
**9.select:查詢**
```
DB::table('users')->select('name', 'email as user_email')->get();
```
**10.distinct():強制查詢返回不重復的結果**
DB::table('users')->distinct()->get();
**11.join查詢多表**
內連接
```
DB::table('users')
->join('contacts', 'users.id', '=', 'contacts.user_id')
->select('users.*', 'contacts.phone')
->get();
```
左連接
```
DB::table('users')
->leftJoin('posts', 'users.id', '=', 'posts.user_id')
->get();
```
這里就寫這兩個吧,有左鏈接就有右鏈接rightJoin
**12.where():條件控制**
```
DB::table('users')->where([
['status', '=', '1'],
['subscribed', '<>', '1'],
])->get();
```
我們在傳遞多個查詢參數時會有或的關系,下面看一下orWhere
```
DB::table('users')
->where('votes', '>', 100)
->orWhere('name', 'John')
->get();
```
whereBetween():判斷在兩個值之間
```
DB::table('users')
->whereBetween('age', [1, 100])
->get();
```
whereNotBetween():判斷不在兩個值之間
```
DB::table('users')
->whereNotBetween('age', [1, 100])
->get();
```
**13.orderBy():排序,desc倒序,asc正序**
```
DB::table('users')
->orderBy('id', 'desc')
->get();
```
擴展:在我們的使用過程中會有隨機抽取一條信息的時候,可以使用inRandomOrder()
```
DB::table('users')
->inRandomOrder()
->first();
```
**14.take()和limit():規定查詢條數**
```
DB::table('users')
->limit(5)
->get();
```
**15.paginate():分頁**
```
$users = DB::table('users')->paginate(15);
//模板輸出
@foreach ($users as $user)
{{ $user->name }}
@endforeach
{{ $users->links() }}
```
paginate()方法有很多,我們可以看一下。
* simplePaginate():簡單的顯示“下一頁”和“上一頁”