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

Laravel创建数据库表结构的例子

Laravel 的Schema门面提供了与数据库系统无关的创建和操纵表的支持, Laravel 所支持的所有数据库系统中提供一致的、优雅的、平滑的API。...,需要验证该表包含的外键迁移文件中有明确的名字,而不是Laravel基于惯例分配的名字。...$table- timestampsTz(); 添加 created_at 和 updated_at(带时区) $table- unsignedBigInteger('votes'); 等同于数据库中符号的...); 等同于数据库中符号的 MEDIUMINT 类型 $table- unsignedSmallInteger('votes'); 等同于数据库中符号的 SMALLINT 类型 $table- unsignedTinyInteger...('votes'); 等同于数据库中符号的 TINYINT 类型 $table- uuid('id'); 等同于数据库的UUID 修改器 除了上面列出的类型之外,添加的时候还可以使用一些其它

5.6K21

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

Laravel 的 Schema 门面提供了与数据库系统无关的创建和操纵表的支持, Laravel 所支持的所有数据库系统中提供一致的、优雅的、流式的 API。...(‘votes’); 等同于符号的 BIGINT 类型 $table- unsignedDecimal(‘amount’, 8, 2); 等同于 UNSIGNED DECIMAL 类型,带有总位数和精度...$table- unsignedInteger(‘votes’); 等同于符号的 INTEGER 类型 $table- unsignedMediumInteger(‘votes’); 等同于符号的...MEDIUMINT 类型 $table- unsignedSmallInteger(‘votes’); 等同于符号的 SMALLINT 类型 $table- unsignedTinyInteger...(‘votes’); 等同于符号的 TINYINT 类型 $table- uuid(‘id’); 等同于 UUID 类型 $table- year(‘birth_year’); 等同于 YEAR

3.8K31
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    3分钟短文:书接上回,Laravel数据库迁移的那些个小技巧

    引言 使用laravel的数据库迁移功能进行表的创建,和迁移回滚之后,我们继续说说设计中 表结构的更改之后的处理。以及如何为数据库填充一些伪数据作为测试。...confirmed')->default(false); 比如设定一个字符串类型的字段,允许为null: $table->string('comments')->nullable(); 比如设定整型为符号数...2020_09_28_213116_add_enabled_to_events_table 现在为该迁移文件添加 up & down 方法,指定迁移开始和回滚所要执行的动作, 我们仅仅是添加一个字段,或者回滚的时候...,删除一个字段,代码如下图: [pic] 完成后命令行执行迁移指令: php artisan migrate 输出结果如下: Migrating: 2020_09_28_213116_add_enabled_to_events_table...的迁移指令也允许我们指定某个追加的字段位于某个之后: $table->boolean('enabled')->after('name'); 迁移状态 查看当前数据库的迁移状态,会让我们查看创建的迁移文件中哪些被应用了

    1.7K30

    Laravel学习基础之migrate的使用教程

    如果数据较少,那还是蛮轻松的,但是如果数据过大,那就很蛋疼了,但是这在Laravel中就很轻松,可以使用数据迁移。...本文就详细的介绍了关于Laravel中migrate使用的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍: 生成迁移 命令: Migration php artisan make.../【当下浏览的服务器和开发工具是哪些】/和以前用php语句创建表一样,我们可以2014_10_12_000000_create_users_table.php这个文件中写上我们要创建表的字段及约束条件...一些列名约束条件的写法 Migration Schema::table('users', function ($table) { $table->integer('votes')->unsigned(); //符号类型...}); 常用约束 ->first() 将该置为表中第一个 (仅适用于 MySQL) ->after(‘column') 将该置于另一个之后 (仅适用于 MySQL) ->nullable()

    95510

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

    让我们来看看这个版本中的一些亮点新特性: 首先, TestResponse 类中添加了一个 assertJsonPath() 断言,对于 JSON 响应中使用针对嵌套属性的点符号断言值,这个断言非常方便...$builder- getGlobalMacro($name); $builder- hasGlobalMacro($name); 向 BelongsToMany 关联添加另一个访问方法来获取中间表的:...Laravel 5.8 的完整发行说明可在 Github v6 changelog 中找到: Laravel v6.0.4 版本 新增 添加了 TestResponse::assertJsonPath(...VerifyCsrfToken 中间件 (#29972) 修复了 Postgresql 创建时没有可选精度的问题 (#29873) 修复了具有特定文件名的多路径迁移文件 (#29996) 修复了测试中向...中允许 symfony 文件实例 (#30009) 使用自定义配置创建存储模拟数据 (#29999) 仅当语言环境有条件地存在时,才 pendingmail 中设置语言环境 (dd1e0a6) 改进了从根目录生成类时按字母顺序对导入进行排序

    1.7K21

    为什么 Laravel 这么优秀?

    、测试文件、Controller 等等;我们还将用 make:model 为 Course 生成一个 CURD Controller,相关的几个 commit 我在下面了,每个 Commit 我都尽量做到了最小...to use pest 家务:切换到使用害虫 add testing for create course endpoint 为创建课程终点添加测试 我们知道进行数据操作前,都需要先对数据进行校验。...强大的的辅助函数和丰富的 API,在下面的代码中我们甚至可以做到一行代码就完成课程的创建及依赖关系的更新。... Laravel 中我们可以非常方便的为每一个 API 编写功能测试,如下面我们为创建课程编写的 HTTP 测试: uses(RefreshDatabase::class); it('create...Laravel Container 支持自动帮你构造容器中不存在的对象,如果这构造这个对象时还依赖另外的对象,Laravel 会尝试递归的创建它,举个例子: class A { public function

    20910

    一次因composer错误使用引发的问题与解决

    所以导致了composer升级的时候symfony/http-kernel也升级,带来了symfony/translation升级到4.x,引入了PHP7.1的新特性。...这样的升级,laravel/framework 版本 v5.5.21 是感知的。...它会根据你当前机器的PHP版本,判断你的所有依赖分别使用什么版本,composer update的时候,会根据所有依赖的版本需求选择一个最好的版本。...是否要使用自动升级 版本依赖的时候,使用~,^符号会在composer udpate的时候根据依赖包已经有的类库。...但是实际上,我们是无法完全杜绝这个情况,比如你的一个lib包依赖了另外一个lib包的时候,它如果使用了自动升级,你是完全没有办法的。 所以一旦我们使用包依赖,自动升级的事情,是无法杜绝的。

    2.7K31

    如何在Ubuntu 16.04上使用Deployer自动部署Laravel应用程序

    /bin/dep 使其可执行: $ sudo chmod +x /usr/local/bin/dep 接下来,本地计算机上创建一个Laravel项目: $ composer create-project...我们将设置fastcgi指令以告诉Nginx使用应用程序的实际路径(遵循符号链接后解析),而不是符号链接。...您的服务器目录中创建以下结构:/var/www/html/laravel-app ├── .dep ├── current -> releases/1 ├── releases │ └── 1 └...current是上一版本的符号链接。 该.dep目录包含Deployer的特殊元数据。 该shared目录包含.env配置文件和storage将与每个版本进行符号链接的目录。...但是,该应用程序将无法正常工作,因为该.env文件为空。此文件用于保存重要配置,例如应用程序密钥-用于加密的随机字符串。如果未设置的话,您的用户会话和其他加密数据将不安全。

    15.5K10

    3分钟短文:Laravel说要用软删除,可不要真删

    引言 我们不止一次系列文章中讲到模型的“软删除”功能,因为现实场景中为了保证数据可追溯,我们几乎不会对数据库进行物理删除。删除数据有可能会造成数据一致性的破坏,进而导致业务逻辑无法跑通。...Laravel本身支持软删除,只需要进行少量的配置更改,以确保执行delete或destroy时,模型的记录不会被实际删除。作为一个例子,我们修改Event模型以支持软删除。...首先创建一个新的迁移,将名为deleted_at的添加到events表中: php artisan make:migration add_soft_delete_to_events --table=events...其实原理很简单,就是为模型追加一个全局作用域,为每个查询子句追加上如下筛选条件: WHERE deleted_at IS NULL laravel已经为我们写好这部分逻辑了,模型内引入如下trait:...,通过创建迁移文件,修改数据库表,追加软删除字段。

    2.2K00

    玩转 PhpStorm 系列(二):导航篇

    一种是菜单栏中点击 Navigate,然后在下拉框选择对应的全局导航,Class 代表类、File 代表文件、Symbol 代表符号/标记(可用于导航到指定变量、方法)、Line 代表行(需要在特定文件中操作...如果想要打开定义 Laravel 自带辅助函数的 helpers.php 文件,操作方法完全一样,只需导航输入框中输入对应文件名即可: ?...再比如,我们想要查看 Laravel 自带的 view 函数是如何实现的,输入框输入 view 并选中要导航的方法即可: ?...跳转到行、 最后,已打开的当前文件中,可以通过 Command + L 打开行列导航操作界面,输入要导航到的行号、号即可,其中行和通过「行号:号」进行区分和解析: ?...号一般不设置,默认值为 1。 图形化 UI 界面中,通常跳转到指定行、的需求不大,我们可以通过鼠标和触摸屏快速定位到指定位置。

    2.1K10

    Laravel学习记录--数据库迁移

    laravel 数据库迁移 数据迁移文件存放在database/migrations 特点:可进行版本回退,便于团队开发 通过数据迁移文件创建表 1 创建数据库 配置.env文件选择数据库 DB_CONNECTION...上面操作只会生成迁移文件 此时数据库并没有生成数据表c.我们需要编辑迁移文件,设置相应字段 使用 php artisan migrate...注意:在生成的过程中如果报错长度不够 需app/providers/AppServiceProwvider.php设置字符默认长度 use Illuminate\Support\Facades\Schema...指定排序规则 ->comment('') 字段注释 ->default('') 默认值 ->nullable()允许为空 ->unsigned()符号符号符号的区别...符号:数据为0或正数 内存占比:-127~127 有符号 数据可以为负数 内存占比 :0-255 修改字段 1.引入 doctrine/dbal composer require

    1K20

    CVE-2021-39165: 从一个Laravel SQL注入漏洞开始的Bug Bounty之旅

    field字段进行注入 当第二个参数符号可控时,输入非符号字符不会有任何报错,也不存在注入 当整体可控时,相当于可以传入多个key、符号和value,但经过前两者的测试,key和符号位都是不能注入的,value...因为表结构已经知道,成功获取用户、密码: 0x05 后台代码审计 这个注入漏洞的优势是无需用户权限,但劣势是无法堆叠执行,原因我星球的这篇帖子里有介绍过(虽然帖子里说的是ThinkPHP)。...这个功能支持解析Twig模板语言: 对于Twig模板的解析是API请求中,用API创建或编辑Incident对象的时候会使用到Incident Templates,进而执行模板引擎。...Cachet使用rcrowe/twigbridge来将twig集成进Laravel框架,按照composer.lock中的版本号来肯定高于v1.20.0(实际是v1.40.1),也就是说,我也无法使用这个...rcrowe/twigbridge用于Laravel和Twig之间建立一个桥梁,让Laravel框架可以直接使用twig模板引擎。

    76720

    Go 语言网络编程系列(七)—— RPC 编程篇:默认编解码工具 Gob

    struct { A, B int } 结构编码的数据可以被后面 9 种结构类型接收解码,具体来说,接收数据结构只要满足与发送数据结构签名一致(与顺序无关,不能类型之间不能相互编解码,整型还要细分为有符号符号...具体到不同的数据类型,规则如下: struct、array、slice 是可以被编码的,但是 function 和 channel 是不能被编码的; 整型分为有符号符号符号和有符号整型是不能互相编解码的...uint 来编码的,0 是 false,1 是 true; 浮点型的值都是被当作 float64 类型的值来编码的,浮点型和整型也是不能相互编解码的; 字符串类型(包含 string 和 []byte)是以符号字节个数...+ 每个字节编码的形式编解码的; 数组类型(包含 slice 和 array)是按照符号元素个数 + 每个数组元素编码的形式进行编解码的; 字典类型(map)是按照符号元素个数 + 键值对这样的形式进行编解码的...但是,作为针对 Go 语言的数据结构编解码专用序列化工具,意味着 Gob 无法跨语言使用,只能仅局限于基于 Go 语言开发的 RPC 客户端与服务端进程间通信,然而,大多数时候,我们用 Go 语言编写的

    1.5K60

    laravel 学习之路 数据库操作 查询数据

    运行 Select 查询 你可以使用 DB Facade 的 select 方法来运行基础的查询语句我们在上面创建的路由里增加个 index 的路由 dump 是 laravel 的打印函数可以把它理解为...的数据库查询构造器为创建和运行数据库查询提供了一个方便的接口。...如果必须要允许用户通过选择某些来进行查询,请始终根据允许的白名单来校验列名。...第一参数就是字段名,第二个参数就是值 where('testId', 1) 表示查询 testId 等于 1 的数据,那如果想取 testId 不为 1 的数据 就需要传三个参数,第一个参数还是字段名,第二个参数是符号...获取一的值 当然业务中有时候需要获取 某个字段 哪一的值的集合,这个时候就用到了 pluck 方法,pluck 接受 2 个参数 第一个参数是我们要取的字段; 第二个字段是可以选的用来做 key

    3.2K20

    Laravel API教程:如何构建和测试RESTful API

    本文中,我们将使用PUT更新操作,根据HTTP RFC,,PUT意味着特定位置创建/更新资源。...您遵循下载说明(并添加到您的路径环境变量)后,使用以下命令安装Laravel: $ composer global require laravel/installer 安装完成后,您可以像这样创建(手脚架...VARCHAR等效,同时text()创建等效TEXT。...201:创建对象。有用的store行动(action)。 204: 内容。当一个动作执行成功,但没有内容返回。 206:部分内容。当您必须返回分页的资源列表时很有用。 400: 错误的请求。...使用它将使我们的测试快速运行,但是权衡是一些迁移(migration )命令(例如约束)该特定设置中将无法正常工作。

    20.3K20
    领券