如何计算Laravel 5.4通知中的方法相同,以获得2种通知类型?

时间:2018-05-29 20:58:22

标签: laravel notifications

我正在尝试计算两种通知类型,我会在用户捐赠时和用户取消时收到通知。我应该怎么做?

我有这个,这会返回0计数:

{{ count(auth()->user()->unreadNotifications->where('type','App\Notifications\NewDonation')->where('type','App\Notifications\CancelDonation')) }}

1 个答案:

答案 0 :(得分:1)

试试这个:

auth()->user()
    ->unreadNotifications
    ->whereIn('notifiable_type', [
        'App\Notifications\NewDonation', 
        'App\Notifications\CancelDonation',
    ])
    ->count()

我认为您错误地定义了type列。默认情况下,它是notifiable_type,而不是type

此外,在原始代码段中,您执行->where()->where()

每次调用->where()时,它都会返回一个新集合。因此,第一个where()将返回类型为NewDonation类型的所有通知。

当您再次为where致电CancelDonation时,您的收藏集中包含的唯一记录将是NewDonation次通知。因此,在第二个`之后,它没有找到任何记录。