Я использую два приложения Laravel (фронт) / Lumen (api), которые используют одну и ту же БД. (Я знаю, что разделение может быть не идеальным, но это только для тестирования).
Когда я подсчитываю количество строк в каждом приложении, (передний план) возвращает 50000 (правильно - когда я запрашиваю дб) строк и API возвращает 50001. Всегда один раз.
Я попытался при выводе подсчитать количество строк, чтобы увидеть, был ли неправильным только метод rowCount, но он действительно выдает 50001 строк. С таким количеством строк трудно понять, какая именно строка неправильная.
Я наткнулся на это: Php PDO rowCount () вернул неправильный результат
Я всегда работает:
DB::connection()->getPdo()->prepare($query)
для получения строк.
А затем первоначально: result->rowCount
Изменен подсчет отдельно - согласно предложению:
$count = DB::connection()->getPdo()->query("SELECT count(*) AS cnt )->fetchColumn(0);
Тогда:
DB::table()->select()->count()
И наконец:
DB::table()->select('SELECT count(*) as cnt)->value('cnt')
Но все возвращает ровно на одну строку больше. Я также знаю, что они, вероятно, все прибегают к PDO.
Моя первая реакция состояла в том, что это была транзакция, но я ее не использую, так что только если есть что-то встроенное по умолчанию в Lumen / Laravel