首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >通知表的

通知表的
EN

Stack Overflow用户
提问于 2017-01-07 04:05:16
回答 3查看 6.2K关注 0票数 6

我正在实现Laravel5.3通知,目前这是非常好的工作。

目前,我正在使用“电子邮件”作为通知渠道,但我也想添加“数据库”。我对语言使用不同的数据库/连接,并希望将通知存储在中央数据库/连接中。

如何使用不同的数据库连接进行通知?

我已经尝试过创建一个通知模型,但没有成功:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
namespace App;

use Illuminate\Database\Eloquent\Model;

class Notifications extends Model
{
    protected $connection = 'system';
}
EN

回答 3

Stack Overflow用户

发布于 2017-02-07 23:53:29

苦涩的溶液但在MongoDB连接上进行了尝试和测试。

哪些需要修改;

  1. Notifiable性状
  2. DatabaseNotification模型
  3. 可选地(如果使用mysql,什么都不改变)修改HasNotifications特性
  4. 修改DatabaseNotificationCollection.Again,这对于非mysql连接非常有用。

第一步:创建自定义Notifiable特性

Illuminate\Notifications\Notifiable复制内容并在自定义path...say App\Overrides\Notifications\Notifiable中创建一个新文件。

您的文件将具有两个changes...the命名空间,您必须加载RoutesNotifications特性,因为我们不会复制它。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?php

namespace App\Overrides\Notifications;

use use Illuminate\Notifications\RoutesNotifications;

trait Notifiable{
 //The rest of the code remains
}

第二步:创建自定义DatabaseNotification模型

遵循上面相同的过程,并将Illuminate\Notifications\DatabaseNotification文件的内容复制到我们在上面创建的自定义路径.App\Overrides\Notification\DatabaseNotification

这是一个标准的雄辩模型,连接变化实际上发生在这里。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?php

namespace App\Overrides\Notification;

//Use this if on mongodb.otherwise use to Illuminate\Database\Eloquent\Model
use Jenssegers\Mongodb\Eloquent\Model;
use Illuminate\Notifications\DatabaseNotificationCollection;

class DatabaseNotification extends Model
{
  protected $connection = 'YOUR_CONNECTION_NAME_GOES HERE'; 
}

到目前为止,如果您是在mysql连接上,这应该可以工作。

要尝试这一点,请将用户模型上的Notifiable特性更改为使用App\Overrides\Notifications\Notifiable。通知将使用您指定的连接。

MongoDB的用户将不得不采取额外的步骤,因为我所知道的最受欢迎的司机还没有用于Laravel通知的关系

既然这不是我们提出的问题,我们就把它留在这里:-)

票数 7
EN

Stack Overflow用户

发布于 2019-05-01 23:50:16

基于@Bernard答案的Laravel 5.7

User.php

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?php

namespace App;

// implement the override Notifiable trait
use App\Traits\Override\Notifiable;
use Illuminate\Foundation\Auth\User as Authenticatable;

class User extends Authenticatable
{
    use Notifiable;
}

Notifiable.php

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?php

namespace App\Traits\Override;

use Illuminate\Notifications\RoutesNotifications;

trait Notifiable
{
    use HasDatabaseNotifications, RoutesNotifications;
}

HasDatabaseNotifications.php

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?php

namespace App\Traits\Override;

use App\Models\Override\MultiConnectionDatabaseNotification;

trait HasDatabaseNotifications
{
    /**
     * Get the entity's notifications.
     *
     * @return \Illuminate\Database\Eloquent\Relations\MorphMany
     */
    public function notifications()
    {
        return $this->morphMany(MultiConnectionDatabaseNotification::class, 'notifiable')->orderBy('created_at', 'desc');
    }

    /**
     * Get the entity's read notifications.
     *
     * @return \Illuminate\Database\Query\Builder
     */
    public function readNotifications()
    {
        return $this->notifications()->whereNotNull('read_at');
    }

    /**
     * Get the entity's unread notifications.
     *
     * @return \Illuminate\Database\Query\Builder
     */
    public function unreadNotifications()
    {
        return $this->notifications()->whereNull('read_at');
    }
}

MultiConnectionDatabaseNotification.php

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?php

namespace App\Models\Override;

use Illuminate\Notifications\DatabaseNotification as DatabaseNotification;

class MultiConnectionDatabaseNotification extends DatabaseNotification
{
    // set your preferred connection here
    protected $connection = 'oracle';
}
票数 3
EN

Stack Overflow用户

发布于 2020-07-15 00:25:04

这很简单,只需在Illuminate\Notifications\DatabaseNotification添加Illuminate\Notifications\DatabaseNotification

仅此而已,它将起作用:)

如果要使用一个具有相同连接的通知表,则不需要创建新模型。

如果您对用户模型使用不同的连接,我的代码就会工作。

票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41521255

复制
相关文章
Jenkins构建通知--邮件通知
步骤如下: 1.进入Manage Jenkins→Configure System→Jenkins Location设置页面,设置管理员邮箱
陈不成i
2021/06/02
2.9K0
Gitea 的邮件通知
根据 Gitea 的安装不同,我们的配置文件在:vi /etc/gitea/app.ini 这个路径下。
HoneyMoose
2022/12/29
7290
Gitea 的邮件通知
Chrome的桌面通知
最近在使用朋友网(不加链接,避免有打广告的嫌疑),发现会出现提示“是否允许网站显示桌面通知?”,如下图所示:
meteoric
2019/02/25
1.4K0
Chrome的桌面通知
Argo 的通知功能
通知是完整的最终用户体验的重要组成部分,但却很难正确处理。不同的组织使用不同类型的通知服务,如 Slack、OpsGenie 或传统的电子邮件。可能需要通知的事件有几十种不同类型,因此很难预测所有可能的场景并对它们进行优化。最后,每个组织都有不同的标准,可能希望以不同的方式定制通知。
CNCF
2021/01/27
2.1K0
Argo 的通知功能
Android中的通知和自定义通知布局
Android中的通知(Notification)是Android中的重要一部分,应用程序通过通知来提醒用户或者向用户传达信息,下面让我们来看一下怎么在我们的程序中使用通知和自定义通知的布局。
指点
2019/01/18
3.6K0
Android中的通知和自定义通知布局
Gitea 的邮件通知
根据 Gitea 的安装不同,我们的配置文件在:vi /etc/gitea/app.ini 这个路径下。
HoneyMoose
2022/12/30
4720
Gitea 的邮件通知
Jenkins构建通知--HTTP请求通知
使用HTTP Request插件,我们能在Jenkins pipeline中发送HTTP请求给第三方系统。这是最通用的Jenkins与第三方系统集成的方式之一。
陈不成i
2021/06/02
3.1K0
通知:清明节放假通知
清明休假三天,但DNSPod服务不休假哦,阿D会一如既往的为您提供优质服务。假期安排如下: • 放假时间:2014年4月5日——4月7日,共3天;4月8日正常上班。 • 清明放假期间,为了保证DNSPod各项服务的正常与稳定,阿D安排了值班人员。 有关解析问题请大家【提交工单】或致电:400-111-1234,提交问题让值班人员为您处理。 注:清明放假期间,由于值班人员有限,阿D可能会出现不能及时接听您的电话或回复您的消息的情况。但请您放心,值班人员会在最短的时间内回复您的问题,由此给您造成的不便,敬请您
腾讯云DNSPod团队
2023/05/04
1.2K0
通知:清明节放假通知
Android 8.0无法发送通知栏?通知栏适配通知渠道
  不得不说Andoird的通知栏相比于IOS在使用上有着明显的不足,不仅是体验上的差异,还有大量的非关注通知铺满了通知栏,导致通知栏混乱,杂多。   为什么一个很好的通知栏功能现在却变得这么遭用户讨厌?很大一部分原因都是因为开发者没有节制地使用导致的。每个开发者都只想着尽可能地去宣传自己的App,最后用户的手机就乱得跟鸡窝一样了。但是通知栏又还是有用处的,比如我们收到微信、短信等消息的时候,确实需要通知栏给我们提醒。因此分析下来,通知栏目前最大的问题就是,无法让用户对感兴趣和不感兴趣的消息进行区分。就比如说,我希望淘宝向我推送卖家发货和物流的相关消息,但是我不想收到那些打折促销或者是让我去买衣服的这类消息。那么就目前来说,是没有办法对这些消息做区分的,我要么同意接受所有消息,要么就屏蔽所有消息,这是当前通知栏的痛点。   那么在Android 8.0系统中,Google也是从这个痛点开始下手的。
饮水思源为名
2018/09/06
3.6K0
Windows 进程创建通知回调通知例程的学习笔记
在 Windows 操作系统中可以通过 PsSetCreateProcessNotifyRoutine 函数注册或移除一个进程创建通知回调例程。在 Vista 以及之后的版本中,微软加入 PsSetCreateProcessNotifyRoutineEx 新的函数来注册创建进程通知。通过判断系统版本来对应不同的操作系统调用不同的注册函数。
稻草小刀
2022/12/12
1.1K0
Windows 进程创建通知回调通知例程的学习笔记
通知 - NSNotificationCenter
1、每一个应用程序都有一个通知中心(NSNotificationCenter)实例,专门负责协助不同对象之间的消息通信;
tandaxia
2018/09/27
1.1K0
通知 - NSNotificationCenter
创建通知
通知提供了有关应用程序未使用时的事件的简短而及时的信息。这篇文章教你怎么通过Android4.0及以上版本的各种功能去创建一个通知。有关通知怎么在Android上显示,Android 通知
佛系编码
2019/12/11
1.9K0
创建通知
线程的通知与等待
Java中的Object类是所有类的父类,鉴于继承机制,Java把所有的类都需的方法放在了Object类里面,其中就包含要说的通知与等待。
YanL
2020/04/29
1.1K0
线程的通知与等待
android的消息通知栏
在android的应用层中,涉及到很多应用框架,例如:Service框架,Activity管理机制,Broadcast机制,对话框框架,标题栏框架,状态栏框架,通知机制,ActionBar框架等等。 下面就来说说经常会使用到通知机制中的通知栏框架(Notificaiton),它适用于交互事件的通知。它是位于顶层可以展开的通知列表。它会时不时的提醒你什么软件该更新了,什么人发你微信消息了等。 (网上看了下,全面介绍的文章不多,所以就萌生了写这篇的念头,随便当作回顾笔记。下面我就通过官方文档、源代码、书上的一些
xiangzhihong
2018/01/30
4.1K0
android的消息通知栏
AOP的通知类型(注解)
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
suveng
2019/09/18
5470
AOP的通知类型(注解)
iOS开发--本地通知与远程通知
1、NSNotification是系统内部发出通知,一般用于内部事件的监听,或者状态的改变等等,是不可见的 2、本地通知与远程通知是可见的,主要用于告知用户或者发送一些App的内容更新,推送一些相关的消息,让用户知道App内部发生了什么事情。
孙寅
2020/06/02
3.3K0
Android通知栏微技巧,8.0系统中通知栏的适配
之前我们已经讲到了,Android 8.0系统最主要需要进行适配的地方有两处:应用图标和通知栏。在上一篇文章当中,我们学习了Android 8.0系统应用图标的适配,还没有看过这篇文章的朋友可以先去阅读 Android应用图标微技巧,8.0系统中应用图标的适配 。
用户1158055
2019/07/03
2.9K0
切面编程(环绕通知与前后置通知区别)
1、拥有前置通知和后置通知的功能,并能解决前置通知和后置通知在共享信息方面的不足(例如:统计切点方法执行时间);
yaphetsfang
2020/07/30
2K0
切面编程(环绕通知与前后置通知区别)
Redis消息通知系统的实现
Posted on 2012-02-29 by 老王 http://huoding.com/2012/02/29/146
Java架构师必看
2021/03/22
9310
Zookeeper:实现“通知协调”的 Demo
应用配置集中到节点上,应用启动时主动获取,并在节点上注册一个 watcher,每次配置更新都会通知到应用。
栗筝i
2022/12/02
2790
Zookeeper:实现“通知协调”的 Demo

相似问题

通知表设计?

42

读取通知表

22

关于表更改的通知

14

不更新通知表

20

Rails通知表问题

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文