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

为什么我不能在laravel通知表中存储新的列?

在Laravel中,通知表是用于存储通知相关的数据的表。通常情况下,我们不建议直接在通知表中存储新的列,原因如下:

  1. 数据库设计原则:通知表的设计应该遵循数据库设计的一些基本原则,例如避免冗余数据、保持表的简洁性等。如果在通知表中存储新的列,可能会导致表结构复杂化,增加维护成本。
  2. 可扩展性:Laravel框架提供了灵活的通知系统,可以通过自定义通知类来满足不同的业务需求。通知类可以通过构造函数、属性等方式传递需要的数据,而不是直接在通知表中存储新的列。这样可以保持代码的可扩展性和可维护性。
  3. 数据一致性:通知表主要用于存储通知的元数据,例如通知类型、接收者、发送者等。如果在通知表中存储新的列,可能会导致数据一致性的问题。例如,如果某个通知类型需要存储额外的信息,可以考虑使用关联表或者其他方式来存储这些信息,以保持数据的一致性。

推荐的做法是,在通知表中存储通知相关的基本信息,例如通知类型、接收者、发送者等,而不是存储具体的业务数据。如果需要存储额外的信息,可以考虑使用关联表或者其他方式来实现。同时,可以通过自定义通知类来传递需要的数据,以满足不同的业务需求。

腾讯云相关产品和产品介绍链接地址:

  • 腾讯云数据库(https://cloud.tencent.com/product/cdb)
  • 腾讯云云服务器(https://cloud.tencent.com/product/cvm)
  • 腾讯云云原生应用引擎(https://cloud.tencent.com/product/tke)
  • 腾讯云人工智能(https://cloud.tencent.com/product/ai)
  • 腾讯云物联网(https://cloud.tencent.com/product/iot)
  • 腾讯云移动开发(https://cloud.tencent.com/product/mobdev)
  • 腾讯云对象存储(https://cloud.tencent.com/product/cos)
  • 腾讯云区块链(https://cloud.tencent.com/product/baas)
  • 腾讯云元宇宙(https://cloud.tencent.com/product/mu)
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

从0开始做一个审批模块

接下来将从 『数据设计』 和 『程序设计』 两个方面进行阐述: 数据设计 确定名 第一步确定一下名,『申请』。...第一个想到就是 applications ,有一个书面申请含义在,也是个名词,可惜这个单词在我们数据库已经被占用,作为『应用』了。...通知(申请通知、审批结果通知) 大部分 web 应用应该都有通知,这里无非是多加了一个 审批 类型通知,所以通知设计就不在这里提了。...至此我们申请数据就建立完毕了,我们来看看成品: ? 程序设计 数据建完了,接下来我们一起来看一下,在程序上是怎么设计。...:『Laravel 多态关系表单验证[3]』 。

1.7K10

为什么 Laravel 这么优秀?

准备从一个后端最常用 CURD 例子说起,一步一步阐述这过程 Laravel 都是怎么完成;以及~大家~()为什么喜欢用 Laravel。...比如你在上一次变更操作错误设置了某个索引,那我理解正确做法不是回滚,而是创建一个迁移文件,并在迁移文件 ALTER 之前修改。...我们还使用了 Laravel Resource 来格式化最终输出格式,这样做原因是很多情况下我们希望直接将数据库字段暴露出去,你甚至还能在 Laravel Resource 按不同角色显示不同字段...其实很不明白作为一名工程师为什么我们会瞧上某一门语言?...不过觉得 Laravel 不足不在性能,毕竟 PHP 作为脚本语言,就算我们把它优化到极致,也不可能达到类似 Go 那么高吞吐率,如果真的是为了性能,那为什么选择其他更适合语言呢?

15210

写在 Laravel 5.5 发布之前

目前在内部项目中已经在使用 Laravel 5.5,接下来会连续地翻译、撰写相关 Laravel 5.5 版本文章。 FAQ Q: Laravel 5.5 什么时候发布?...A: 按照时间,正式发布时间是 2017年7月。 Q: Laravel 5.5 发布之后,5.4 还会继续提供支持吗?...A: Laravel 官方有一个Laravel 发布进程Laravel Release process)。 Q: 怎样才能在 Laravel 5.5 发布后最快得到通知?...A: Laravel News提供了最新消息发布实时邮件通知,还提供了每周一期 Laravel newsletter, 你可以加入邮件订阅,即可在新版本正式发布后尽快得到通知。...如果你代码库还没有开始向 PHP 7 转化,可以参考 PHP 官方团队提供迁移文档,文档包含了进行代码迁移之前所有需要注意内容。

1.9K40

orm 系列 之 Eloquent演化历程2

,所以讲错误地方,恳请大牛们能不吝赐教;或者如果有什么地方是没看懂,也请提出来,因为可能那地方就是自己没看懂,所以没讲明白,你提出后我们就可以一起讨论,让我们能共同进步。...Blueprint和Builder,Schema/Builder负责提供数据库操作面向对象似的操作,而Schema/Blueprint则负责存储具体操作数据,包括数据库操作命令和数据库定义,因此有下面的结构...,也是laravel中一大亮点Artisan,Artisan是 Laravel 自带命令行接口名称,此处不做具体介绍了,有机会再细说,当我们在命令行执行php artisan command时候...commentable_id对应 Post 或Video ID 值,而 commentable_type 对应所属模型类名。...*版本时候,laravel/framework还采用psr-0规范,所有其目录层级还是src/Illuminate/Database,在这个版本中有个目录Capsule,其下面是一个Manager

2.4K30

Laravel消息通知系统之数据库

Laravel 自带了一套极具扩展性消息通知系统,尤其还支持多种通知频道,我们将利用此套系统来向用户发送消息提醒。...通知频道指通知各种途径,Laravel自带有如下几种 数据库 邮件 短信(通过 Nexmo) Slack 通过数据库实现消息通知 1.准备数据 php artisan notifications...artisan migrate 2.生成通知laravel每一种通知属于一个类,使用如下命令创建通知类,通知类存放在app/Notifications php artisan make:...这个返回数组将被转成 JSON 格式并存储通知数据 data 字段。 4.触发通知 在某个模型观察者 topic->reply_count = $reply->topic->replies->count(); $reply->topic->save(); // 通知话题作者有评论

1K20

devops-exercises:DevOps 工程师面试学习资料 | 开源日报 No.95

2624 道练习和问题 包含了许多涉及 DevOps、Git、网络等方面的问题和演示文稿 可以用于面试准备,但大多数问题代表实际面试 如果您对成为 DevOps 工程师感兴趣,学习此存储库中提到一些概念将很有用...它还包括一个具有挑战性 evals 开源注册。...它们设计精美,易于使用,并且完全可扩展,这是您下一个 Laravel 应用程序理想起点。不要浪费时间一遍又一遍地构建相同功能。...Table Builder:为任何情况打造出漂亮、优化且交互式数据表格,支持添加自定义、筛选器和操作 Notifications:提供闪存通知给用户以及从数据库获取并在幻灯片弹窗呈现通知或接收实时通知等重要事件处理能力...: MIT picture Soybean Admin 是一个基于 Vue3、Vite3、TypeScript、NaiveUI、Pinia 和 UnoCSS 清新优雅后台模版。

13810

Laravel给数据库造假竟成工具链

引言 上一章我们了解了使用laravel迁移功能创建数据库,把DBA工作挪到开发端,这样把岗位都省出来了。 但是只有光秃秃数据库,有个壳子没有数据确实没啥用。...数据库也一样,数据库就好比是地,种地我们得有种子,才能在命令行这样使用: php artisan migrate --seed 或者让数据库一切从头开始,旧数据清空,然后填充: php artisan...CRUD操作,直接指定名,并 insert 插入一条数据。...为什么这么写?类类,方法方法,函数函数!没错,就是一个代码片段,laravel约定东西, 你这么写,在执行数据填充和测试时候,它就起作用!就这么神奇。 那如何控制填充条数呢?...Happy coding :-) 是@程序员小助手,专注编程知识,圈子动态IT领域原创作者

1.2K00

Laravel学习基础之migrate使用教程

本文就详细介绍了关于Laravelmigrate使用相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细介绍: 生成迁移 命令: Migration php artisan make...–table和–create选项可以用于指定名以及该迁移是否要创建一个数据。...第一个是你要创建名;第二个是一个闭包(匿名函数),获取用于定义 Blueprint 对象。 Migration <?...等同于数据库 FLOAT 类型 $table->char(‘n/【关于环境方面,觉得DOCKER是非常合适和快速部署一个方式】/ame', 4); 等同于数据库 CHAR 类型 $table...(); //无符号类型 }); 常用约束 ->first() 将该置为第一个 (仅适用于 MySQL) ->after(‘column') 将该置于另一个之后 (仅适用于 MySQL) ->

88510

Laravel给数据库造假竟成工具链

引言 上一章我们了解了使用laravel迁移功能创建数据库,把DBA工作挪到开发端,这样把岗位都省出来了。 但是只有光秃秃数据库,有个壳子没有数据确实没啥用。...数据库也一样,数据库就好比是地,种地我们得有种子,才能在命令行这样使用: php artisan migrate --seed 或者让数据库一切从头开始,旧数据清空,然后填充: php artisan...CRUD操作,直接指定名,并 insert 插入一条数据。...为什么这么写?类类,方法方法,函数函数!没错,就是一个代码片段,laravel约定东西, 你这么写,在执行数据填充和测试时候,它就起作用!就这么神奇。 那如何控制填充条数呢?...Happy coding :-) 是@程序员小助手,专注编程知识,圈子动态IT领域原创作者

1.1K20

3分钟短文 | Laravel获取关联指定3个方法

引言 在数据库设计时,对不同功能进行切分,分割为不同进行存储。在业务逻辑,再将需要连接数据进行整合输出。 ?...今天我们说一说,在Laravel,如何关联模型,以及制定返回,以精简返回数据。 学习时间 假如有两个模型 User 和 Post,一个用户会发布多个post,也就是一对多关联关系。...`id` in (, ) 显然,第二条SQL语句,返回了user所有,数据量有可能很大。是否可以返回指定呢?这样可以精简输出,减少MySQL传输负荷。...:-( 写在最后 本文通过2种确切可用方式,裁剪了关联模型返回内容。 在实际代码,第一种使用闭包修剪SQL语句,用途较为广泛。 第二种方式影响全局,一般推荐。...第三种则是第一种变体,但是对版本有要求。 Happy coding :-) 是 @程序员小助手 ,持续分享编程知识,欢迎关注。

2K20

推荐 Laravel API 项目必须使用 8 个扩展包

Laravel 内置项目包括 Composer,允许您添加一些包,使开发更快。 当您决定启动基于 API 项目时,以下几个有用软件包必须安装。 1....Laravel debugbar 是一个能让你在开发过程更加方便快捷地定位到问题扩展包。...如果你仅仅是查询一两张,那问题并不大,可是如果你使用超过了五张以上呢,那确实有点痛苦。 Fractal 就为你提供了一个很棒解决方案,它为那些复杂数据输出提供了演示和转换规则。 ...Push notifications 是最简单发送推送通知到设备扩展包,也支持APNS(苹果)和GCM(谷歌)推送通知服务。...备份是一个zip文件,它包含你指定目录所有文件以及数据库转储. 备份可以存储在你在项目中任何配置过文件系统上. 你可以一次将应用程序备份到多个文件系统上.

2.8K10

分享8个Laravel模型时间戳使用技巧小结

默认情况下,Laravel Eloquent 模型默认数据有 created_at 和 updated_at 两个字段。当然,我们可以做很多自定义配置,实现很多有趣功能。下面举例说明。 1....其他属性和方法 } 2. 修改时间戳默认列表 假如当前使用是非 Laravel 类型数据库,也就是你时间戳命名方式与此不同该怎么办?...这个属性确定日期在数据库存储格式,以及在序列化成数组或 JSON 时格式: class Flight extends Model { /** * 日期时间存储格式 * *...多对多:带时间戳中间 当在多对多关联,时间戳不会自动填充,例如 用户 users 和 角色 roles 中间 role_user。...(Role::class); } } 然后当你想用户添加角色时,可以这样使用: $roleID = 1; $user- roles()- attach($roleID); 默认情况下,这个中间包含时间戳

3.7K31

如何扩展Laravel Auth来满足项目需求

bcypt加密存储密码,但是很多已经存在老系统中用户密码都是用盐值加明文密码做哈希后存储,如果想要在这种老系统应用Laravel开发项目的话那么我们就不能够再使用Laravel自带登录和注册方法了...修改用户注册 首先我们将用户注册时,用户密码加密存储方式由 bcypt加密后存储改为由盐值与明文密码做哈希后再存储方式。...,还有其他一些需要与用户信息相关字段也需要存储到用户中去这里就不再赘述了。... retriveBycredentials方法从用户查询出用户数据,通过 validateCredentials方法来验证给定用户认证数据与从用户查询出来用户数据是否吻合。...首先我们来重写 $user->getAuthPassword(); 在User模型覆盖其从父类中继承来这个方法,把数据库中用户 salt和 password传递到 validateCredentials

2.6K20

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

(UPSERT) 考虑这个users具有唯一username: Schema :: create ( 'users' , function ( Blueprint $ table ) {...第二个参数是唯一标识记录。除 SQL Server 外所有数据库都要求这些具有PRIMARY或UNIQUE索引。 提供要更新列作为第三个参数(可选)。默认情况下,将更新所有。...upsert()还将添加updated_at到更新。...当然了还是有一些注意点和坑,下面分享一下 注意问题 要根据需求添加唯一索引 根据官方文档说明,我们model必须添加这行代码,才能以Eloquent方式用 use \Staudenmeir\...LaravelUpsert\Eloquent\HasUpsertQueries; 因为我们数据库时间是int类型,不是laravel默认时间格式,并且我们插入时间和更新时间也不是laravel默认字段

5.7K20

Java面试:2021.05.21

起不到明显优化效果,维护索引结构反而消耗系统资源; (7) 最适合索引是出现在WHERE、order by、group by ,⽽不是出现在SELECT; (8) 更新频繁字段,建议创建索引...因为当数据更改同时,索引也会进行调整和更新,十分消耗系统资源; (9) 区分度低字段,建议创建索引。...(5) 数据量小,建议创建索引。起不到明显优化效果,维护索引结构反而消耗系统资源; (6) 很少查询,建议创建索引。...起不到明显优化效果,维护索引结构反而消耗系统资源; (7) 最适合索引是出现在WHERE、order by、group by ,⽽不是出现在SELECT; (8) 更新频繁字段,建议创建索引...因为当数据更改同时,索引也会进行调整和更新,十分消耗系统资源; (9) 区分度低字段,建议创建索引。

45020

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

Laravel 开发团队昨天发布了 v6.10 版本,本次版本发布包含 11 个特性以及大量问题修复、功能废弃和代码优化,另外,还引入了对 PHPUnit 9 支持。...第一部分:重要特性介绍 下面,我们一起来看下几个重要特性: Laravel Mix 测试辅助函数 在新版本,可以通过 withoutMix() 和 withMix() 测试辅助函数启用或禁用异常处理...至于为什么要引入 PHPUnit 9,主要原因是 PHP 8.0、8.1、8.2 或者 8.3 中将很有可能不再支持 PHPUnit 8,而 Laravel 6 是 LTS 版本,我们希望它可以支持最新版本...Redis 连接类支持定义宏方法 和 Laravel 框架其他支持 macro 方法类一样,现在可以在 Redis Connection 上调用 macro 定义宏方法: use Illuminate...TransactionCommitted 事件包含期望事物级别 重构代码 重构 BladeCompiler::compileString() 方法 声明:本文翻译整理自 Laravel News

2.5K30
领券