首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

通过 Laravel 查询构建器实现简单增删改查操作

原生插入语句 想要在数据库中插入一条记录,通过 DB 门面提供 insert 语句即可: $name = str_random(10); $email = str_random(10) . '@163...上述代码返回也是包含指定查询结果 stdClass 集合: 有时候我们可能希望返回查询结果中第一条记录,这可以通过将 get 方法替换为 first 方法来实现: $user = DB::table...插入记录 要通过查询构建器插入一条记录,也很简单,通过 insert 方法即可: $flag = DB::table('users')->insert([ 'name' => str_random...'@qq.com', 'password' => bcrypt('secret') ]); 查询构建器还支持一次插入多条记录DB::table('users')->insert([...更新记录 更新数据库记录通过 update 方法来完成,我们可以在该方法中传入待修改字段及对应修改值数组: $id = 11; $affectedRows = DB::table('users')->where

4.1K20
您找到你想要的搜索结果了吗?
是的
没有找到

通过填充器快速填充 Laravel 测试数据

这可以通过不指定值 --seed 选项来实现: php artisan migrate --seed php artisan migrate:refresh --seed 第一条命令用于执行迁移命令时运行填充器类...这样,我们就编写好了第一个填充器类,接下来,我们可以通过指定填充器类方式将这条记录插入到数据库: php artisan db:seed --class=UsersTableSeeder 你还可以在...然后运行如下 Artisan 命令即可: php artisan db:seed 这样,就可以在数据表 users 中看到新填充用户记录了: 当然,我们可以在 UsersTableSeeder 类中定义多条插入语句来一次性插入多条记录...通过模型工厂填充数据 以上编写填充器类填充数据到数据库虽然已经很方便了,但是每次插入一条记录都要编写一条语句或者手动指定插入数据,如果需要填充测试数据有成千上万条,那不是要崩溃掉。...比如我们还是通过运行 php artisan db:seed 命令来填充数据到数据库,此时,就可以看到新填充了 5 条记录: 注:本教程都以 Laravel 自带 users 及对应 User 模型类为例进行演示

10K20

Laravel 5.2 文档 数据库 —— 起步介绍

读/写连接 有时候你希望使用一个数据库连接做查询,另一个数据库连接做插入、更新和删除,Laravel 使得这件事情轻而易举,不管你用是原生 SQL,还是查询构建器,还是 Eloquent ORM,合适连接总是会被使用...运行插入语句 使用DB门面的insert方法执行插入语句。...和select一样,改方法将原生SQL语句作为第一个参数,将绑定作为第二个参数: DB::insert('insert into users (id, name) values (?, ?)'..., [1, 'Dayle']); 运行更新语句 update方法用于更新数据库中已存在记录,该方法返回受更新语句影响行数: $affected = DB::update('update users..., ['John']); 运行删除语句 delete方法用于删除数据库中已存在记录,和update一样,该语句返回被删除行数: $deleted = DB::delete('delete from

3.2K71

Laravel代码简洁之道和性能优化

经过一番调研之后发现了一个堪称神器扩展:laravel-upsert 这个 Laravel 扩展为查询构建器和 Eloquent 添加了对 INSERT & UPDATE (UPSERT) 和 INSERT...如果互相喜欢,则添加双向联系人关系,插入之前校验是否存在,存在则更新type等字段,不存在则插入双向数据 我们通过这个场景能非常好体会laravel-upsert强大,不仅减少了代码量,也减少了sql...:优化前5条sql,优化后2条sql laravel-upsert 扩展特性 安装 composer require staudenmeir/laravel-upsert:"^1.0" 用法 插入和更新...:: raw ( 'stats.views + 1' )] ); 插入忽略 您还可以在忽略重复键错误同时插入记录: Schema :: create ( 'users' , function (...LaravelUpsert\Eloquent\HasUpsertQueries; 因为我们数据库时间是int类型,不是laravel默认时间格式,并且我们插入时间和更新时间也不是laravel默认字段

5.7K20

PHP-Laravel(DB类操作数据库)

laravelDB基本用法DB::table(‘tableName’) 获取操作tableName表实例(对象)。...2、增加信息(insert) 对数据库中某个表增加数据主要有两个函数可以实现,分别是insert()和insertGetId() insert(数组)可以同时添加一条或多条,返回值是布尔类型。...语法:DB::table(‘表名’) -> insert(); 连贯操作/链式操作 案例:分别使用两个函数往数据表中插入几条记录 ?...注意:Get查询结果每一行记录是对象形式,不是数组。 案例2:获取id<3数据 ->where()->get(); 案例3:查询id>2且年龄<21 ?...DB::select(“selec语句”); (2)执行原生插入语句 DB::insert(“insert语句”); (3)执行原生修改语句 DB::update(“update语句”); (4

3.6K20

MongoDB :第五章:MongoDB 插入更新删除查询文档

插入文档MongoDB 使用 insert() 或 save() 方法向集合中插入文档,语法如下:db.COLLECTION_NAME.insert(document)实例以下文档可以存储在 MongoDB...1、先创建数组2、将数据放在数组中3、一次 insert 到集合中 var arr = []; for(var i=1 ; i<=20000 ; i++){ arr.push...multi : 可选,mongodb 默认是false,只更新找到第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。writeConcern :可选,抛出异常级别。...{ “count” : 1} },false,true );只更新第一条记录db.col.update( { “count” : { $gt : 10 } } , { $inc : { “count”...()…… # 没有数据1234如果你只想删除第一条找到记录可以设置 justOne 为 1,如下所示:db.COLLECTION_NAME.remove

1.1K20

Laravel框架查询构造器常见用法总结

')//table指的是一个数据表,而括号里('student')则指的是一个名为student数据表 - insert( ['name' = 'Rarin','age' = 16] );...Controller { public function qur1() { $bool = DB::table('student') - insert([ ['name'= 'Chen',...,[1,19])//当id大于1时候,并且age等于191时候 - get(); dd($slt); } } 4.pluck方式 他只返回某个值,以数组形式 代码如下: namespace...(); print_r($num); } } 他这个函数是输出数据有几条记录,我这里数据有2条记录,所以他会输出一个2 2.max函数 代码如下: namespace App\Http\Controllers...} } 返回数据里某个数据总和 更多关于Laravel相关内容感兴趣读者可查看本站专题:《Laravel框架入门与进阶教程》、《php优秀开发框架总结》、《php面向对象程序设计入门教程》、《php

1.1K31

Laravel系列4.2】查询构造器

先来看简单增删改。 使用 insertGetId() 我们可以插入一条数据并返回这条数据主键 ID ,这个相信会是大家最常用。当然,也有 insert() 方法,它返回是成功失败。...大家可以看到,在代码中我还使用了一个 toArray() 结尾,这样返回就是一个数组。如果在没有做其它设置情况下,这个数组每一项会是一个 stdClass 对象。...批量插入 前面有提到过,我们可以使用 insert() 进行批量插入,这里也直接给演示一下,其实没什么特别的东西。...不过需要注意是,insert() 返回是布尔值,表示成功失败,所以在批量插入时候想要得到所有的插入 ID 就需要用别的方法了。...(比如记录插入前最后一条 ID 值然后再查询一次大于这个 ID 所有数据 ID 值) Route::get('db/test/batch/insert', function () { $data

16.8K10

laravel 学习之路 数据库操作 数据插入与数据填充

类,DB 类就是我们操作数据库关键,Db 类有个 insert 方法,它可以直接传插入内容 sql 语句,现在我访问一 下 study.laraveltest.com/db/insert 如果没有报错数据就插入成功了...但是并不提倡这种拼接字符串方式来添加数据,维护起来麻烦不说还不安全,所以我换种方式,DB 还有个 table 方法可以传表名再调用 insert 方法可以传要插入数组,于是我改造那么一丢丢下面就是改造后样子...DB 插入数据方式学会后我们就可以讲点填充了,以前下载开源项目如果没有给出安装步骤,哪一般都先找 sql 文件,但是 sql 文件中一般不只是表结构一般还有一些初始化数据昨天学习了表结构今天来玩玩数据...,刚刚学习了插入数据方式,但那是在控制器里这种创建路由创建控制器写填充方式不太优雅,laravel 是优雅框架这么做跟 laravel 优雅不符,所有 laravel 必定准备了其他方法,下面学下填充就是向数据库批量添加数据...可以看到里面有个 run 方法这个方法会在执行 db:seed 这个 Artisan 命令 时被调用,利用 DB 方法写上要填充内容,你也可以用 查询构造器 或 Eloquent 模型工厂 来手动插入数据

2.5K20

Laravel5.1 框架数据库操作DB运行原生SQL方法分析

本文实例讲述了Laravel5.1 框架数据库操作DB运行原生SQL方法。分享给大家供大家参考,具体如下: Laravel操作数据库有三种:DB原生SQL、构建器、Model。...1.1 insert public function getInsert() { DB::insert('INSERT INTO articles (title, body)VALUE(..., ['learn laravel', 'balablalabalabla']); } insert方法接受两个参数 第一个参数呢 就是原生SQL语句,第二个参数是一个数组 对应sql语句中?...也可以用”:name” 来表示,对应数组就是一对儿一对儿键值。...('DROP TABLE articles'); } 2 监听查询 我们可以用 listen方法 监听每一次操作数据库动作,这样我们就可以用于 记录日志啊 调试啊什么: class AppServiceProvider

84120

MongoDB插入,查看文档踩坑记

插入文档语法格式: db.集合名称.insert(数据); 插入以下测试数据: db.comment.insert({content:"十次方课程",userid:"1011"}) 查询集合语法格式...: db.集合名称.find() 查询spit集合所有文档,输入以下命令: db.comment.find() 发现文档会有一个叫_id字段,这个相当于我们原来关系数据库中表主键,当你在插入文档记录时没有指定该字段...如果我们在插入文档记录时指定该字段也可以,其类型可以是ObjectID类型,也可以是MongoDB支持任意类型。...}); 按一定条件来查询,比如查询userid为1013记录,只要在find()中添加参数即可,参数也是json格式,如下: db.comment.find({userid:'1013'}) 只需要返回符合条件第一条数据...1、先创建数组 2、将数据放在数组中 3、一次 insert 到集合中 var arr = []; for(var i=1 ; i<=20000 ; i++){ arr.push({num

98841

MongoDB插入,查看文档踩坑记

插入文档语法格式: db.集合名称.insert(数据); 插入以下测试数据: db.comment.insert({content:"十次方课程",userid:"1011"}) 查询集合语法格式...: db.集合名称.find() 查询spit集合所有文档,输入以下命令: db.comment.find() 发现文档会有一个叫_id字段,这个相当于我们原来关系数据库中表主键,当你在插入文档记录时没有指定该字段...如果我们在插入文档记录时指定该字段也可以,其类型可以是ObjectID类型,也可以是MongoDB支持任意类型。...}); 按一定条件来查询,比如查询userid为1013记录,只要在find()中添加参数即可,参数也是json格式,如下: db.comment.find({userid:'1013'}) 只需要返回符合条件第一条数据...1、先创建数组 2、将数据放在数组中 3、一次 insert 到集合中 var arr = []; for(var i=1 ; i<=20000 ; i++){ arr.push({num

67600

Discuz!X数据库函数操作命令大全

函数 功能 DB::table($tablename) 获取正确带前缀表名,转换数据库句柄 DB::delete($tablename, 条件,条数限制) 删除表中数据 DB::insert($tablename..., 数据(数组),是否返回插入ID,是否是替换式,是否silent) 插入数据操作 DB::update($tablename, 数据(数组)条件) 更新操作 DB::fetch(查询后资源) 从结果集中取关联数组...DB::fetch_first($sql) 取查询第一条数据fetch DB::fetch_all($sql) 查询并fetch DB::result_first($sql) 查询结果集第一个字段值...DB::query($sql) 普通查询 ‍‍‍DB::num_rows(查询后资源) 获得记录集总条数 DB::_execute(命令,参数) 执行mysql类命令 DB::limit(n,n)...返回限制字串 DB::field(字段名, $pid)‍ 返回条件,如果为数组则返回 in 条件 DB::order(别名, 方法) 排序

1.8K80
领券