Lavel уведомления дублируются при большом количестве записей!

Коллеги! Столкнулся с аномалией либо особенность такая! Надо добавить много уведомлений стандартным способом через фасад Notification

Делаю выборку через ORM, получаю примерно 5500 моделей. Далее отправляю:

Notification::send($users, new Messages($request->heading, $request->short, $request->alertBody));

Таблица notifications чистая. Уведомления отправились, НО каждое дублируется. Записей в таблице получается ровно в 2 раза больше, 11000

Такая фича происходит именно если в выборке более 4399 моделей, если их меньше то дублирования нет.

Попробовал дробить выборку через цикл по 2000:

   $limit = 2000;

    for ($i = 0; $i < $countUsersForNotification; $i = $i+$limit) {
        $users = User::where('ostatok', '>=', 0)
            ->where('istatus', '=', '2')
            ->where('cstatus', '=', '2')
            ->where('deleted', '=', 0)
            ->where('tpid', '!=', 1)
            ->where('dateact', '>=', now())
            ->offset($i)
            ->limit($limit)
            ->get();
        Notification::send($users, new AbonentMessages($request->heading, $request->short, $request->alertBody));
        dump('test');
    }

Но фиг, не помогло. Случайно добавил в конце цикла вывод dump('test') и о чудо, в этом случае добавляется именно нужное количество записей, без дублирования.

Честно сказать на опыты всякие уже кучу времени потратил, задолбался :) Есть идеи? Может серверное ограничение(openserver) или ограничение БД(Postgres)


Ответы (0 шт):