【问题标题】:how can i show a notification when an admin asiggne an order to a deliverer LARAVEL?当管理员将订单分配给送货员 LARAVEL 时,我如何显示通知?
【发布时间】:2020-05-28 02:54:55
【问题描述】:

当我存储新订单时,我希望带有“deliverer_id”的送货员得到通知

public function store(Request $request)
{
    $order = Order::create([

    'deliverer_id' => $request->input('deliverer_id'),
    'product_id' => $request->input('product_id'),
    'responsible_id'=>$request->input('responsible_id'),
    'quantity'=> $request->input('quantity'),
    'totalprice' => $request->input('totalprice'),
    'client_name' => $request->input('client_name'),
    'client_phone' => $request->input('client_phone'),
    'client_city'=> $request->input('client_city'),

    ]);

    return redirect()->route('orders.index');
}

我想显示一个通知,说这个视图上有一个新订单

<li class="nav-item btn-rotate dropdown new-order">
                        <a class="nav-link dropdown-toggle" href="http://example.com" id="navbarDropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                            <i class="nc-icon nc-bell-55"></i>
                            <p>
                                <span class="badge badge-link text-danger    notif-count" data-count="8">8</span>
                            </p>
                        </a>
                        <div class="dropdown-menu dropdown-menu-right newor">
                            <a class="dropdown-item" href="#">New order</a>
                        </div>
                    </li>

【问题讨论】:

  • 如需实时通知,请查看Broadcasting。它是事件驱动的,并与Pusher ChannelsRedis(我会使用)一起工作。使用Redis 需要使用socket.io。可以使用laravel-echo-server 建立服务器和客户端之间的通信。这只是关于您必须为实时通知做什么的简短概述。文档中有详细的说明。

标签: laravel notifications laravel-7


【解决方案1】:

这里的简单方法是在controller方法中设置flash session数据,例如:

session()->flash('newOrderReceived', true);

然后在查看文件中,您可以检查会话是否具有该密钥。如果是,则显示通知。例如,如果会话已给出密钥,则显示 bootstrap4 警报消息:

@if(session('newOrderReceived'))
    <div class="alert alert-primary" role="alert">
        There is a new order
    </div>
@endif

【讨论】:

  • 有关会话闪存数据的更多信息,请查看其文档laravel.com/docs/5.7/session#flash-data
  • 根据文档,您还可以在控制器方法中尝试以下操作:$request-&gt;session()-&gt;flash('newOrderReceived', true);
  • 基本上,刷新会话变量,然后检查会话是否在视图中具有该变量。如果是,显示通知
  • 他可以使用 laravel 通知或推送器进行此类活动
猜你喜欢
  • 2017-07-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-20
  • 2021-09-05
  • 2014-05-30
  • 2022-10-01
  • 1970-01-01
相关资源
最近更新 更多