💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
## **简介** 我们日常中最常用的就是查询操作。 **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():简单的显示“下一页”和“上一页”