Php 如何使用laravel 5为新邮件发出通知,如电子邮件通知?
我使用的是laravel 5。我想发出一个通知,比如一封电子邮件,当有新邮件时,它会显示尚未打开的邮件数量,如下图所示。我已经使用了计算未打开邮件的函数,但我不知道如何在我的视图中调用它 观点:Php 如何使用laravel 5为新邮件发出通知,如电子邮件通知?,php,laravel,email,laravel-5,push-notification,Php,Laravel,Email,Laravel 5,Push Notification,我使用的是laravel 5。我想发出一个通知,比如一封电子邮件,当有新邮件时,它会显示尚未打开的邮件数量,如下图所示。我已经使用了计算未打开邮件的函数,但我不知道如何在我的视图中调用它 观点: 您可以运行代码AppServiceProvider.php,并将所有数据传递给布局视图 use Illuminate\Support\Facades\View; class AppServiceProvider extends ServiceProvider { /** * Boo
您可以运行代码
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;
}
在这之后,您可以在layouts/app.blade.php
中请求$mail
变量来回送已计数的打开邮件
小代码预览:
<li>
Mails
@if($mail > 0)
<span>{{ $mail }}</span>
@endif
</li>
邮寄
@如果($mail>0)
{{$mail}
@恩迪夫
希望这能奏效 您应该在appserviceProvider.php中将文件更改为layouts/sidebar我在View::composer('layouts.App',function($View)中发现了一个错误
类'App\Providers\View'将此添加到您的使用中:use illumb\Support\Facades\View;
在您的appserviceprovider.php
中,我想在侧边栏.blade.php中回显已计数的打开邮件。我应该将邮件@if($mail>0){{$mail}@endif
在其内部或app.blade.php中?如果我将其添加到我的sidebar.blade.php
中,我会得到一个未定义的错误变量:mail(视图:C:\xampp\htdocs\master\resources\views\sidebar.blade.php)公共函数boot(){View::composer('includes/sidebar',function($View){$mail=SuratController::checkNewSurat();$view->with('mail',$mail);});}
Class'App\Providers\SuratController'未找到您需要添加use App\SuratControllerI我已经尝试过了,但是没有找到类'App\SuratController'。您使用哪个命名空间?在我的AppServiceProvider中使用命名空间App\Providers。在我的SuratController中,命名空间是命名空间App\Http\Controllers
public static function checkNewSurat()
{
$checknewsurat = SuratOpen::select('id_surat')
->where('id_user', '=', Auth::user()->id)
->where('opened', '=', '0')
->count();
return $checknewsurat;
}
<li>
Mails
@if($mail > 0)
<span>{{ $mail }}</span>
@endif
</li>