首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Laravel创建数据库表结构例子

create方法接收两个参数,第一个是表名,第二个是获取用于定义Blueprint对象闭包: Schema::create('users', function ($table) { $table...- increments('id'); }); 当然,创建时候,可以使用schema构建器中任意方法来定义数据表。...Schema::dropIfExists('users'); 通过外键重命名表 在重命名表之前,需要验证该表包含外键在迁移文件中有明确名字,而不是Laravel基于惯例分配名字。...('my comment') 添加注释信息 - default($value) 指定默认值 - first() 将该置为表中第一 (仅适用于MySQL) - nullable() 允许该值为...) 创建一个虚拟生成(只支持MySQL) 修改 先决条件 在修改之前,确保已经将doctrine/dbal依赖添加到composer.json文件,Doctrine DBAL 库用于判断的当前状态并创建对进行指定调整所需

5.5K21

Laravel5.7 数据库操作迁移实现方法

create 方法接收两个参数,第一个是表名,第二个是获取用于定义 Blueprint 对象闭包: Schema::create('users', function ($table) { $...table- increments('id'); }); 当然,创建时候,可以使用 Schema 构建器中任意方法来定义数据表。...– default($value) 指定默认值 – first() 将该置为表中第一 (MySQL) – nullable($value = true) 允许该值为 NULL – storedAs.../dbal 更新属性 change 方法允许你修改已存在列为类型,或者修改属性。...重命名列 要重命名一个,可以使用表结构构建器上 renameColumn 方法,在重命名一个之前,确保 doctrine/dbal 依赖已经添加到 composer.json 文件并且已经运行了

3.7K31

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

经过一番调研之后发现了一个堪称神器扩展:laravel-upsert 这个 Laravel 扩展为查询构建器和 Eloquent 添加了对 INSERT & UPDATE (UPSERT) 和 INSERT...IGNORE 支持 先简单说明一下业务场景: 首先表结构设计是:互相喜欢和添加联系人都是双向关系,即入库A B,B A这样成对双向数据 触发互相喜欢,插入2条双向数据,插入之前校验是否存在,存在不重复添加...如果互相喜欢,则添加双向联系人关系,插入之前校验是否存在,存在则更新type等字段,不存在则插入双向数据 我们通过这个场景能非常好体会laravel-upsert强大,不仅减少了代码量,也减少了sql...第二个参数是唯一标识记录。除 SQL Server 外所有数据库都要求这些具有PRIMARY或UNIQUE索引。 提供要更新列作为第三个参数(可选)。默认情况下,将更新所有。...upsert()还将添加updated_at到更新中。

5.7K20

orm 系列 之 Eloquent使用1

Eloquent ORM 本文会是一个Eloquent使用教程,在此之前,我们先讲述下怎么搭建环境,完整系列请查看orm 基础环境搭建 记录下怎么用docker搭建laravel环境 新建项目composer...create-project --prefer-dist laravel/laravel eloquent 添加laradock cd eloquent;git init;git submodule...于是就可以通过设置Sequel Pro进行连接了,如下图所示 下一步是phpstorm设置,可以参考文章如何使用PhpStorm實現TDD、重構與偵錯然后再是让如何在PhpStorm活用PHPDoc?...,让phpstorm能自动提示laravel类。...migrations 此处表中batch作用是,我们每次执行migrate操作,如果有migrate操作,就会有batch产生,然后我们每次执行rollback,会将最大batch进行回滚。

1.7K20

Laravel 用户认证

也是当下最流行开发模式 在其核心,Laravel 用户认证是由「看守器」和「提供器」。看守器定义如何对每个请求用户进行身份验证。...比对密码:明文密码即可,因为框架将该值与数据库中密码进行比较之前会自动加密 以上两个操作都成功才会返回true 源码位置: vendor/laravel/framework/src/Illuminate...users 表必须包含字符串 remember_token 过时功能。。...Auth::logout(); 添加自定义看守器 你可以使用 Auth facade 上 extend 方法定义自己身份验证看守器。你应该在 服务提供器 中调用 extend 方法。...首先,请在您 AuthServiceProvider boot 方法中调用 Auth::viaRequest 方法。 VIASRequest 方法接受身份验证驱动程序名称作为其第一个参数。

2.1K20

Laravel学习基础之migrate使用教程

前言 大家都知道,现在开发测试都是讲究多人团队协作完成,每个人都有本地环境,在以前我们一般是手动添加数据,比如在数据库查询器中使用sql语句进行数据插入。...如果数据较少,那还是蛮轻松,但是如果数据过大,那就很蛋疼了,但是这在Laravel中就很轻松,可以使用数据迁移。...–table和–create选项可以用于指定表名以及该迁移是否要创建一个数据表。...第一个是你要创建表表名;第二个是一个闭包(匿名函数),获取用于定义 Blueprint 对象。 Migration <?...(); //无符号类型 }); 常用约束 ->first() 将该置为表中第一 (仅适用于 MySQL) ->after(‘column') 将该置于另一个之后 (仅适用于 MySQL) ->

89610

为什么 Laravel 这么优秀?

Laravel 目录结构可能对第一次接触的人来说会很繁琐,它有十来个文件夹,但其实大部分文件夹位置都是精心设计,都待在应该待位置上。...Laravel Artisan # Laravel 第一个优雅设计就是给开发者暴露了一个 ALLINONE 入口 ———Artisan。...比如你在上一次变更操作中错误设置了某个表索引,那我理解正确做法不是回滚,而是创建一个迁移文件,并在迁移文件中 ALTER 之前修改。...Laravel 默认会注册 20 多个 Service Provider,每个 Service Provider 都为 Laravel 提供了一种能力: Cookie/Session/DB/Filesystem...这里还有个例子是 Laravel之前推出了 Laravel Bootcamp 用来教新人怎么快速上手 Laravel,但这之前只推出了两个版本,即 Livewire 和 Inertia,好在是被社区大佬及时反应后才在再后来加上了最原始

16010

通过 Laravel 创建一个 Vue 单页面应用(一)

一个以 Laravel 为后端 Vue SPA 应用基本运行流程如下: 第一个请求触发服务端 Laravel 路由 Laravel 渲染 SPA 布局 接下来请求使用 history.pushState.../hello 路由 Home 组件匹配 / 路由 创建一个 VueRouter 对象,来存储相关配置 通过在 Vue 构造方法中添加 App 组件,来让 Vue 知道 App 组件 将 router...,其它通过路由匹配到组件( Home 和 Hello)都是在这里进行渲染。...这篇文章主要是关于连接 Vue 路由。 我们在服务器端要解决第一件事是定义路由。 打开 routes/web.php 文件并且替换 welcome 路由为一下内容: <?...但这个应用仍有很多功能需要我们在后续教程中来实现: 在前端定义一个 404 路由 使用路由参数 子路由 在组件中向 Laravel 发起一个 API 请求 可能还有很多,但我不准备全部在这里...

4.2K20

基于 Redis Geo 实现地理位置服务(LBS)中查找附近 XXX 功能

从 LBS 应用聊起 在移动互联网如火今天,各种 LBS(Location Based Service,基于地理位置服务)应用遍地开花,其核心要素是利用定位技术获取当前移动设备(手机)所在位置...在此之前,学院君在基于 Laravel + Vue 构建前后端分离应用 这个项目中就已经实现过类似的 LBS 服务 —— 定位当前用户所在城市然后显示该城市所有的咖啡店: 基于数据库进行地理位置查询...Geo 指令使用介绍 Redis Geo 提供了如下八个指令: 基本使用 我们可以通过 GEOADD 指令添加元素到 Geo 集合: 第一个参数是键名,然后是经度、维度和元素值,我们按照这个约定添加如下几个咖啡店及对应经纬度坐标到代表咖啡店集合...: 如果想要返回距离值的话,可以添加 WITHDIST 选项: 注:其他 WITHXXX 选项功能类似,不一一举了。...通过 Geo 实现查找附近咖啡店功能 基于以上介绍,想必你已经对如何在应用代码中实现「查找附近XXX」功能胸有成竹了,以咖啡店应用为例,我们需要在新增咖啡店时将咖啡店名称及坐标信息维护到一个 Geo

3.5K20

orm 系列 之 Eloquent演化历程2

tag v1.1.1版本eloquent, git co v1.1.1 此版本是v4.0.0之前一个版本,从这以后laravel会以组件形式组织各个功能,让我们分析下v1.1.1版本,目前具有哪些功能...功能,主要是对数据库表操作sql建模 此处Connectors是之前没有介绍过,Connectors是在f917efa中第一次加入,我们看下到底做了什么,其目录结构是: src/Illuminate...commentable_id对应 Post 或Video ID 值,而 commentable_type 对应所属模型类名。...*版本时候,laravel/framework还采用psr-0规范,所有其目录层级还是src/Illuminate/Database,在这个版本中有个目录Capsule,其下面是一个Manager...第一步addConnection,添加了默认数据库配置,通过这个配置,我们可以通过DatabaseManager.connection来获取数据库连接connection,从而进行操作。

2.4K30

Laravel5.1 框架数据库查询构建器用法实例详解

本文实例讲述了Laravel5.1 框架数据库查询构建器用法。分享给大家供大家参考,具体如下: 今儿个咱说说查询构建器。它比运行原生SQL要简单些,它操作面儿也是比较广泛。...max方法:传入一 返回这一中最大值。 min方法:跟max方法类似,它返回最小值。 sum方法:返回一值相加和。 avg方法:计算平均值。...,第二个参数是可选表示增加几(默认是1),上面的语句是:comment_count这一值增加2。...,第二个参数是可选表示减少几(默认是1),上面的语句是:comment_count这一值减少2。...》 希望本文所述对大家基于Laravel框架PHP程序设计有所帮助。

3.6K41

Laravel6.0.4中将添加计划任务事件方法步骤

此版本包括计划任务事件、 JSON 断言方法和所有最新更改。...让我们来看看这个版本中一些亮点特性: 首先,在 TestResponse 类中添加了一个 assertJsonPath() 断言,对于在 JSON 响应中使用针对嵌套属性点符号断言值,这个断言非常方便..., 'This is my comment', ]); 接着,不论生成器类是否有全局/本地宏,为了便于断言,向 Eloquent 生成器添加三个访问方法: $builder- hasMacro...($name); $builder- getGlobalMacro($name); $builder- hasGlobalMacro($name); 向 BelongsToMany 关联添加另一个访问方法来获取中间表...Laravel 5.8 完整发行说明可在 Github v6 changelog 中找到: Laravel v6.0.4 版本 新增 添加了 TestResponse::assertJsonPath(

1.7K21

Laravel 6.10 版本发布,支持 PHPUnit 9,为 PHP 8 留下后手

Laravel 开发团队昨天发布了 v6.10 版本,本次版本发布包含 11 个特性以及大量问题修复、功能废弃和代码优化,另外,还引入了对 PHPUnit 9 支持。...第一部分:重要特性介绍 下面,我们一起来看下几个重要特性: Laravel Mix 测试辅助函数 在新版本中,可以通过 withoutMix() 和 withMix() 测试辅助函数启用或禁用异常处理...: // 之前这么实现 $this->swap(\Illuminate\Foundation\Mix::class, function () { return ''; }); // 现在这么实现...支持 PHPUnit 9 从 v6.10 开始,Laravel 开始支持 PHPUnit 9,可以通过完整 pull request 查看实现细节:https://github.com/laravel...新增 exclude_if 和 exclude_unless 验证规则 新增对 PostgreSQL 生成(virtual/stored)支持 在 Eloquent 构建器中新增 mixin 支持

2.5K30
领券