
-
先去配置文件中queue.php文件中你选择的是哪种驱动方式
image.png
去.env中设置,我这里设置的是database,当然你也可以设置redis或其它方式

{
$this->notice = $notice;
}
/**
* Execute the job.
*
* @return void
*/
public function handle()
{
// 通知每个用户系统消息
$users = \App\User::all();
foreach ($users as $user) {
$user->addNotice($this->notice);
}
}
}
4.创建分发逻辑(创建消息的时候)

<?php
namespace App\Admin\Controllers;
class NoticeController extends Controller
{
public function index()
{
$notices = \App\Notice::all();
return view('admin/notice/index', compact('notices'));
}
public function create()
{
return view('admin/notice/create');
}
public function store()
{
$this->validate(request(), [
'title' => 'required|string',
'content' => 'required|string',
]);
$notice = \App\Notice::create(request(['title', 'content']));
dispatch(new \App\Jobs\SendMessage($notice));
return redirect("/admin/notices");
}
}
- 启动队列
php artisan queue:work
这个时候你就可以创建你的消息通知了,创建之后用户就会看到消息了
结束。
网友评论