我正在尝试计算两种通知类型,我会在用户捐赠时和用户取消时收到通知。我应该怎么做?
我有这个,这会返回0计数:
{{ count(auth()->user()->unreadNotifications->where('type','App\Notifications\NewDonation')->where('type','App\Notifications\CancelDonation')) }}
答案 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
次通知。因此,在第二个`之后,它没有找到任何记录。