Laravel 增删查改 发表于 2018-12-29 | 热度 ℃ | 字数统计 994 | 阅读时长 5 增12345678910// 成功返回 true// 失败报错$res = DB::table('user')->insert([ "id" => "xxx", "username" => "xxx",]);// 如果已设 id 为自增,新增一条数据并返回 id$id = DB::table('user')->insertGetId([ "username" => "xxx",]); 删123456// 成功返回被删除的条数// 失败返回0$res = DB::table('user')->where('id', 'xxx')->delete();$res = DB::table('user')->where('id', '<>', 'xxx')->delete();// 清空表->truncate(); 查1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980// select->select('name', 'email')->select('username', 'id as openid')->get() // 别名$query = DB::table('users')->select('name'); // 拼接$users = $query->addSelect('age')->get();->distinct() // distinct// where->where('id', 'xxx') // 相当于 ->where('id', '=', 'xxx')->where('id', 'like', '%xxx%')->where('score', '>', 0.5)->where('score', '>=', 0.5)->where('score', '<>', 0.5)->whereIn('id', ["xxx", "yyy"])->whereNotIn('id', [1, 2, 3])->whereNull('username')->whereNotNull('username')->orWhere('name', 'John') // or->whereBetween('votes', [1, 100])->whereNotBetween('votes', [1, 100])->whereDate('created_at', '2018-12-28')->whereMonth('created_at', '12')->whereDay('created_at', '31')->whereYear('created_at', '2018')->whereTime('created_at', '=', '11:20:45')->where([ // 多个条件 ['id', '=', 'xxx'], ['score', '<>', '0.5'],])->where(function ($query) { // function 多用来实现 or $query->where('votes', '>', 100) ->orWhere('title', '=', 'Admin');})->whereColumn('first_name', 'last_name') // 相当于 ->whereColumn('first_name', '=', 'last_name')->whereColumn('updated_at', '>', 'created_at')->whereColumn([ // 多个条件 ['first_name', '=', 'last_name'], ['updated_at', '>', 'created_at']])// raw 简单计算、判断->selectRaw('price * ? as price_with_tax', [1.0825])->whereRaw('price > IF(state = "TX", ?, 100)', [200])->groupBy('department')->havingRaw('SUM(price) > ?', [2500])->orderByRaw('updated_at - created_at DESC')// 注: where子句的作用是在对查询结果进行分组前,将不符合where条件的行去掉,即在分组之前过滤数据,条件中不能包含聚组函数,使用where条件显示特定的行。 having子句的作用是筛选满足条件的组,即在分组之后过滤数据,条件中经常包含聚组函数,使用having条件显示特定的组,也可以使用多个分组标准进行分组。 https://www.cnblogs.com/xp796/p/5213880.html// groupBy->groupBy('level')->having('level', '>=', 0)->groupBy('first_name', 'status') // 二级分组// order->orderBy('id', 'desc')->orderBy('id', 'asc')->latest() // 相当于 ->orderBy('created_at', 'desc')->oldest() // 相当于 ->orderBy('created_at', 'asc')->latest('updated_at') // 相当于 ->orderBy('updated_at', 'desc')->inRandomOrder() // 乱序// 分页 两种写法->offset(10)->limit(5)->skip(10)->take(5)// 结果 // 注: 返回的 item 为 stdClass,取值 $item->id// stdClass -> array : $item = json_decode(json_encode($item), true);->exists(); // 是否存在,true/false->doesntExist(); // 是否不存在->first(); // 取满足条件的第一条结果 成功返回该条记录,失败返回 null->get(); // 满足条件的所有记录->value('username'); // 取满足条件的第一条结果的某个字段 成功返回该字段,失败返回 null->pluck('username'); // 取满足条件的所有记录的 username 数组 成功返回 username 数组,失败返回空数组->count(); // 条数 || 0->max('score'); // 最大值->avg('score'); // 平均值 改12345678910111213// 成功返回修改的条数// 失败返回 0$res = DB::table('user') ->where('id', 'xxx') ->update([ 'phone' => 'xxx', ]);// 点个赞 increment/decrement->increment('votes');->increment('votes', 5);->decrement('votes');->decrement('votes', 5);->increment('votes', 1, ['name' => 'John']); // 相当于 ->where('name', 'John')->increment('votes'); -------------感谢您的阅读 有问题请留言(或mailto:frostbelt@sina.cn)-------------