首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

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

    原生 Statement 语句 我们可以通过 DB 门面提供的 statement 方法执行原生的 SQL Statement 语句,比如创建、删除、修改数据表操作: DB::statement('drop...table `users`'); DB::statement('create table `users` (`id` int(10) unsigned NOT NULL AUTO_INCREMENT,...`name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL)'); 只不过在 Laravel 中,我们不推荐这么做,因为这些对数据表结构的操作可以通过数据库迁移功能来实现...如果是数值字段的更新的话,Laravel 还为我们提供了 increment 和 decrement 方法用于快速进行数值增减,默认步长是 1,当然你可以通过第二个参数指定步长值: DB::table(...如果我们想要清空整张数据表,可以通过不指定 where 条件来实现: $affectedRows = DB::table('users')->delete(); 如果我们还想在清空记录之后重置自增 ID

    5.1K20

    3分钟短文:Laravel查询构造器,告别手写SQL的艰苦岁月

    引言 鉴于上一章标题引起一些开发同学的巨大兴趣,本文我们接着此种行文方式继续我们的“Laravel宇宙”系列文章。...大家看看下面这个代码写法柔顺不柔顺: $users = DB::select(['table' => 'users', 'where' => ['type' => 'donor']]); 我们说撸代码,...下面是laravel里用的最多的写法: $users = DB::table('users')->where('type', 'donor')->get(); 这些是不是顺多了,一气呵成,要的就是这个感觉...比如执行原生的语句: DB::statement('drop table users') 还有参数绑定的方式传入SQL语句: DB::select('select * from contacts where...写一条不附加任何约束条件的查询: $users = DB::table('users')->get(); 还有复杂的多表联合查询,使用 INNER JOIN 方式: DB::table('users')

    1.6K10

    3分钟短文:Laravel查询构造器,告别手写SQL的艰苦岁月

    引言 鉴于上一章标题引起一些开发同学的巨大兴趣,本文我们接着此种行文方式继续我们的“Laravel宇宙”系列文章。...大家看看下面这个代码写法柔顺不柔顺: $users = DB::select(['table' => 'users', 'where' => ['type' => 'donor']]); 我们说撸代码,...下面是laravel里用的最多的写法: $users = DB::table('users')->where('type', 'donor')->get(); 这些是不是顺多了,一气呵成,要的就是这个感觉...比如执行原生的语句: DB::statement('drop table users') 还有参数绑定的方式传入SQL语句: DB::select('select * from contacts where...写一条不附加任何约束条件的查询: $users = DB::table('users')->get(); 还有复杂的多表联合查询,使用 INNER JOIN 方式: DB::table('users')

    2.1K11

    MongoDB 6.0.3分片Sharding与平衡策略的变化

    然而,自6.0.3起,MongoDB转向了一种新的数据划分方式,即数据范围(ranges),这种划分方式更注重数据的实际大小而非数据块的数量。...命令变更:moveRange 命令被引入,替代了原有的 .moveChunk 命令,以适应新的数据范围概念。...分片集合启用简化:自MongoDB 6.0起,启用分片集合的操作变得更加简洁,不再需要显式地使用 enableSharding 命令。...在6.0.3版本之后,如果不同分片上的数据大小差异超过了384MB,即三倍于默认的Chunk大小(128MB),平衡器就会认为需要进行数据块的迁移。..."更换为所需要查询的DB名称即可 var dbName = "MOnoDB"; db.getSiblingDB(dbName).getCollectionNames().forEach(function

    22210

    3分钟短文:Laravel 使用DB门面操作原生SQL

    引言 我们推荐使用laravel的eloquent orm 模型操作数据库表, 因为特性更为丰富,组装更为灵活,在编程层面操作数据的来来去去非常直观。...学习时间 系统提供了DB门面用于原生的SQL操作,在程序内引入下面的类: use Illuminate\Support\Facades\DB; 该类的定义很简单,标准的门面注册方法: class DB...比如删除users表: DB::statement('drop table users'); 带参数绑定的SQL查询语句: DB::select('select * from contacts where..., [1]); 写在最后 本文通过对laravel DB门面的增删改查用法,向大家展示了基本的参数绑定的用法。...一般我们不推荐使用原生SQL语句操作数据库,提倡大家把数据库操作集中到模型层, 充分利用eloquent orm的性能。

    2.7K20

    使用 Docker 搭建本地开发环境!真心强啊

    如果你的伙伴的操作系统不统一,可能你还会遇到一些不同元字符解析不一致的问题。 然后上线之前,可能你在本地开发调试都可以完美运行,一但部署到服务器,就会出现各种问题。...时间非常宝贵,正是得益于 Docker,让我们有可能在一条或者几条命令内就搭建完环境,而且这个环境大到一个特定版本的操作系统,小到一个软件。...,可以都带上,也可以不写。...web项目 一下是我laravel项目的部分配置 DB_CONNECTION=mysql DB_HOST=mysql DB_PORT=3306 DB_DATABASE=blog DB_USERNAME=...vim /etc/hosts 我这里加入一条我自己设置的虚拟域名 127.0.0.1 blog.test 然后保存,刷新下host。 配置nginx 进入到.

    1.5K10

    从零开始搭建本地 Docker 开发环境

    如果你的伙伴的操作系统不统一,可能你还会遇到一些不同元字符解析不一致的问题。 然后上线之前,可能你在本地开发调试都可以完美运行,一但部署到服务器,就会出现各种问题。...时间非常宝贵,正是得益于 Docker,让我们有可能在一条或者几条命令内就搭建完环境,而且这个环境大到一个特定版本的操作系统,小到一个软件。...,可以都带上,也可以不写。...web项目 一下是我laravel项目的部分配置 DB_CONNECTION=mysql DB_HOST=mysql DB_PORT=3306 DB_DATABASE=blog DB_USERNAME=...vim /etc/hosts 我这里加入一条我自己设置的虚拟域名 127.0.0.1 blog.test 然后保存,刷新下host。 配置nginx 进入到.

    4.3K20

    使用 Docker 高效搭建本地开发环境(详细教程)

    如果你的伙伴的操作系统不统一,可能你还会遇到一些不同元字符解析不一致的问题。 然后上线之前,可能你在本地开发调试都可以完美运行,一但部署到服务器,就会出现各种问题。...时间非常宝贵,正是得益于 Docker,让我们有可能在一条或者几条命令内就搭建完环境,而且这个环境大到一个特定版本的操作系统,小到一个软件。...,可以都带上,也可以不写。...web项目 一下是我laravel项目的部分配置 DB_CONNECTION=mysql DB_HOST=mysql DB_PORT=3306 DB_DATABASE=blog DB_USERNAME=...vim /etc/hosts 我这里加入一条我自己设置的虚拟域名 127.0.0.1 blog.test 然后保存,刷新下host。 配置nginx 进入到.

    3.1K10

    666!MySQL 的 binlog 的三种格式这么好玩!

    在 Mixed 模式下,系统会自动判断该用 Statement 还是 Row:一般的语句修改使用 Statement 格式保存 binlog;对于一些 Statement 无法准确完成主从复制的操作,则采用...=javaboy_db # binlog 日志不记录指定库的更新(配置主从复制的时候会用到) #binlog-ignore-db=javaboy_no_db # 写缓存多少次,刷一次磁盘,默认 0...常见 binlog 操作 接下来我们再来介绍几个常见的 binlog 操作命令。...刷新 binlog 正常来说,一个 binlog 写满之后,会自动切换到下一个 binlog 开始写,不过我们也可以执行一个 flush logs 命令来手动刷新 binlog,手动刷新 binlog...offset:这是是偏移量,不指定默认就是 0。 row_count:查看多少行记录,不指定就是查看所有。

    1K20
    领券