Как рассчитать тот же метод where в уведомлениях Laravel 5.4, чтобы получить 2 типа уведомлений? - PullRequest
0 голосов
/ 29 мая 2018

Я пытаюсь сосчитать два типа уведомлений, где я получаю уведомление, когда пользователь делает пожертвование и когда пользователь отменяет его.как я должен это сделать?

У меня есть это, и это возвращает 0 счет:

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

1 Ответ

0 голосов
/ 30 мая 2018

Попробуйте:

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уведомления.следовательно, после второго `где не будет найдено никаких записей.

...