如何使用laravel 5为电子邮件通知等新邮件发送通知?

时间:2016-06-12 05:49:10

标签: php laravel email laravel-5 push-notification

我正在使用laravel 5.我想像电子邮件一样发出通知,当有新邮件时,它会显示未打开的邮件数量,如下图所示。我已经计算了未打开邮件的功能了,但是我很困惑如何在我的视图中调用它。

  

观点:

<li>
  <a href="{{ url ('DokumenMasuk') }}">
    <i class="fa fa-table"></i> <span>Dokumen Masuk</span>
    <span class="label label-primary pull-right">4</span>
  </a>
</li>
  

控制器:

public function checkNewSurat(Request $request)
{
    $checknewsurat = SuratOpen::select('id_surat')
                                ->where('id_user', '=', Auth::user()->id)
                                ->where('opened', '=', '0')
                                ->count();

    $data['content'] = $checknewsurat ;

    echo json_encode($data);
}

2 个答案:

答案 0 :(得分:1)

您可以运行代码AppServiceProvider.php并将所有数据传递到布局视图。

use Illuminate\Support\Facades\View;

class AppServiceProvider extends ServiceProvider
{
    /**
     * Bootstrap any application services.
     *
     * @return void
     */
    public function boot()
    {
        View::composer('layouts.app', function ($view) {
            $mail = MailController::checkNewSurat();

            $view->with('mail', $mail);
        });
    }

    /**
     * Register any application services.
     *
     * @return void
     */
    public function register()
    {
        //
    }
}

控制器

public static function checkNewSurat()
{
    $checknewsurat = SuratOpen::select('id_surat')
                                ->where('id_user', '=', Auth::user()->id)
                                ->where('opened', '=', '0')
                                ->count();

    return $checknewsurat;
}

在此之后,您可以请求$mail中的layouts/app.blade.php变量回显计算的开放邮件。

小代码预览:

<li>
    Mails 
    @if($mail > 0)
        <span>{{ $mail }}</span>
    @endif
</li>

希望这有效!

答案 1 :(得分:1)

你应该在appserviceprovide.php中将文件更改为layouts / sidebar