Laravel 数据库队列使用,以博客用户通知功能为例
2017-07-26 17:01
253 查看
.env文件中修改为QUEUE_DRIVER=database
php artisan queue:table 创建 数据库表,执行成功后,会生成一个新的migration for the queue jobs database table,
php artisan migrate 执行成功后,jobs这个表会在mysql数据中出现,至于里边的字段不用关心
4.php artisan make:job SendMessage 会生成app\job\SendMessage.php
SendMessage.php 类会有两个方法:__construct() 初始化job实例,handle()执行具体的job
修改__construct(Notices $notice) Notices就是你创建的Notices模型
在SendMessage类中定义
private notices = null;
public function __construct(Noticesnotice)
{
this−>notices=notice;
}
修改handle方法
public function handle()
{
//通知每个用户
users=UserModel::all();foreach(users as user){user->addNotice($this->notices);//addNotice方法是定义在UserModel中,使用模型关联
}
}
在NoticesController中
public function store() {
newNotice=Notices::create(request([‘title′,′content′]));if(!empty(newNotice)){
this−>dispatch(newSendMessage(newNotice));
return redirect(‘admin/notices’);
}else{
return ‘创建失败’;
}
}
store方法接受传过来的“通知的数据”,然后插入到数据库中,然后使用
this−>dispatch(newSendMessage(newNotice));将通知发送出去
5.php artisan queue:work
6.测试通知功能ok不ok就行了
php artisan queue:table 创建 数据库表,执行成功后,会生成一个新的migration for the queue jobs database table,
php artisan migrate 执行成功后,jobs这个表会在mysql数据中出现,至于里边的字段不用关心
4.php artisan make:job SendMessage 会生成app\job\SendMessage.php
SendMessage.php 类会有两个方法:__construct() 初始化job实例,handle()执行具体的job
修改__construct(Notices $notice) Notices就是你创建的Notices模型
在SendMessage类中定义
private notices = null;
public function __construct(Noticesnotice)
{
this−>notices=notice;
}
修改handle方法
public function handle()
{
//通知每个用户
users=UserModel::all();foreach(users as user){user->addNotice($this->notices);//addNotice方法是定义在UserModel中,使用模型关联
}
}
在NoticesController中
public function store() {
newNotice=Notices::create(request([‘title′,′content′]));if(!empty(newNotice)){
this−>dispatch(newSendMessage(newNotice));
return redirect(‘admin/notices’);
}else{
return ‘创建失败’;
}
}
store方法接受传过来的“通知的数据”,然后插入到数据库中,然后使用
this−>dispatch(newSendMessage(newNotice));将通知发送出去
5.php artisan queue:work
6.测试通知功能ok不ok就行了
相关文章推荐
- IOS中使用本地通知为你的APP添加提示用户功能
- 使用Laravel的队列实现系统通知、
- IOS中使用本地通知为你的APP添加提示用户功能
- Android使用ContentObserver监听数据库变化 接受指定号码的短信,并且不让系统截取到通知用户
- 使用sqlite3(数据库知识)的接口函数完成一个用户注册功能模块设计 要封装成函数,在独立的main中调用测试
- 使用Oracle的审计功能记录连接数据库登录失败的用户信息
- 在 Laravel 中使用 Laravel Searchy 扩展包实现基于数据库的轻量级搜索功能
- 献给虚拟主机 Laravel 用户:全功能 MySQL 队列驱动器 L4mysqlqueue
- 使用队列解决多用户 使用日志功能的请求
- 在 Laravel 中使用 Laravel Searchy 扩展包实现基于数据库的轻量级搜索功能
- Android使用ContentObserver监听数据库变化,截取系统通知用户接收到短信
- laravel博客开发之利用jcorp结合laravel和ajaxupload实现用户头像上传和裁剪功能
- iOS中使用本地通知为你的APP添加提示用户功能
- Laravel 5.3 使用内置的 Auth 组件实现多用户认证功能以及登陆才能访问后台的功能的一种实现方法
- iOS中使用本地通知为你的APP添加提示用户功能
- 使用数据库构建高性能队列用于存储订单、通知和任务(转)
- Android使用ContentObserver监听数据库变化 接受指定号码的短信,并且不让系统截取到通知用户
- 表正被别的用户或进程使用,数据库引擎无法锁定的解决办法
- 还原Wss3.0内容数据库时遇到:"ComputerName\Microsoft##SSEE 上的 WSS_Content 包含用户定义的架构。数据库在能够使用之前必须为空。请删除所有表、存储过程以及其他对象,或使用其他数据库。 " 的提示,无法加载内容数据库
- 使用 vs2005 自带的 用户功能