Count возвращает неверное количество строк в Laravel / Lumen - PullRequest
0 голосов
/ 27 января 2020

Я использую два приложения 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...