我正在使用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);
}
答案 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