lundi 28 mai 2018

Laravel Sending Duplicate Notifications

I am building a system where manager of employees receives notifications about tasks assigned to his/her employees as well as the employees. Initially, I get the employees from the database like this:

$users = User::whereIn('id', $employeeIds)->with('manager:id,first_name,middle_name,
                                        last_name,email,phone_no')
           ->get(['id', 'first_name','middle_name', 'last_name', 'email', 'phone_no', 
           'manager_id']);

Then create a collection of managers for each employee type:

$managers = $users->map(function ($item) {
            $manager = $item['manager'];
            $parent['employee'] = $item;
            return $manager;
        });

And finally I send notification to both users via Notification facade.

Notification::send($users, new TaskCompleted($taskData));
Notification::send($managers, new TaskCompleted($taskData));

Now the problem is that let say I have employee A and B both having Manager C as their manager. Notification will send two notifications to Manager C about Employee A only. I have debugged the arrays of data and there is nothing duplicate in there.

Can anyone please help me in the right direction? Should I iterate over the users my self and send individual notifications? As this seems a bug to me in Laravel.



via Chebli Mohamed

Aucun commentaire:

Enregistrer un commentaire