Запрос кешируется - PullRequest
1 голос
/ 08 мая 2020

Привет, ребята, у меня странная проблема, и я ищу помощи.

Я использую laravel 7, и один из моих запросов явно кэшируется или что-то в этом роде, вот мой код для объяснения:

Вот очень простой метод в одном из моих контроллеров:

public function chartEstadosVoluntarios(){
    $estados = DB::table("voluntarios")
        ->selectRaw("estado, count(*) as total")
        ->whereNotNull('estado')
        ->groupBy("estado")
        ->get();

    return response()->json($estados,200);
}

Если я попал в маршрут на chrome, результат будет:

[
  {
    "estado": "Derivado al 147",
    "total": 2
  },
  {
    "estado": "Derivar a mesa de ayuda",
    "total": 7
  },
  {
    "estado": "Pendiente",
    "total": 3
  },
  {
    "estado": "Reasignar Adulto Mayor",
    "total": 50
  },
  {
    "estado": "Resolución logística 24hs",
    "total": 4
  },
  {
    "estado": "Resuelto",
    "total": 119
  }
]

Но это неправильно, это не настоящий результат, вот экран для того же запроса в MySQL Workbench:

enter image description here

Я использую тот же пользователь в рабочей среде и laravel. Другое дело, что если я немного изменю запрос, то я получу правильный результат, например:

$estados = DB::table("voluntarios")
    ->selectRaw("estado, count(*) as total, 'test'")//adding 'test' to select
    ->whereNotNull('estado')
    ->groupBy("estado")
    ->get();

Затем я снова нажимаю на браузер, и результат:

[
  {
    "estado": "Pendiente",
    "total": 9687,
    "test": "test"
  },
  {
    "estado": "Resuelto",
    "total": 16415,
    "test": "test"
  }
]

Если я go вернусь с изменениями, я снова получу неверные результаты. Итак, я действительно не понимаю, что происходит, любая точка направления будет оценена.

РЕДАКТИРОВАТЬ, дополнительная информация добавлена ​​из ответов:

до Sql () метод выдает тот же запрос (копия вставлена ​​из браузера):

"select estado, count(*) as total from `voluntarios` where `estado` is not null group by `estado`";

Метод to Sql () с 'test' в select:

"select estado, count(*) as total, 'test' from `voluntarios` where `estado` is not null group by `estado`"

То же результаты в Tinker:

enter image description here

Понижен с laravel v7.10.3 до v7.6.2 (тот, который у меня был перед запуском composer обновить сегодня ), но проблема остается.

РЕДАКТИРОВАТЬ 2

Произошла странная вещь, я недавно использовал другую часть системы, которая редактирует поле "estado" таблицы "voluntar" ios ", чтобы увидеть, что произойдет, и теперь запрос выдает правильные результаты. это как будто что-то разблокировалось после редактирования таблицы. Что бы это могло быть? Раньше я проверял, что у пользователя не было открытых транзакций.

Заранее спасибо.

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