Телескоп не отображает никаких записей из таблицы telescope_entries
, но вместо этого показывает только это:
Если мы заглянем в консоль браузера, мы увидим, что Telescope часто отправляет POST-запросы к своему API, но получает пустой массив записей:
Я уверен, что в базе данных есть записи, потому что я могу видеть их с помощью программы просмотра базы данных:
Также, когда я запускаю DB::table("telescope_entries")->get()
в Tinker, я получаю правильные записи из базы данных.
В целях отладки я добавил lad([$request, $storage]);
перед оператором return в методе index
в EntryController
:
public function index(Request $request, EntriesRepository $storage)
{
lad([$request, $storage]); // function comes from lanin/laravel-api-debugger
return response()->json([
'entries' => $storage->get(
$this->entryType(),
EntryQueryOptions::fromRequest($request)
),
'status' => $this->status(),
]);
}
Теперь, когда браузер отправляет запрос в API Telescope, он получает следующее JSON:
{
"entries": [],
"status": "enabled",
"debug": {
"database": {
"total": 1,
"items": [
{
"connection": "sqlite",
"query": "select * from \"telescope_entries\" where \"type\" = 'request' and \"should_display_on_index\" = '1' order by \"sequence\" desc limit 50;",
"time": 7.68
}
]
},
"cache": {
"hit": {
"keys": [],
"total": 0
},
"miss": {
"keys": [
"telescope:dump-watcher",
"telescope:pause-recording"
],
"total": 2
},
"write": {
"keys": [],
"total": 0
},
"forget": {
"keys": [],
"total": 0
}
},
"profiling": [
{
"event": "request-time",
"time": 0.6450369358062744
}
],
"memory": {
"usage": 16327024,
"peak": 16547112
},
"dump": [
[
{
"attributes": {},
"request": {},
"query": {},
"server": {},
"files": {},
"cookies": {},
"headers": {}
},
{}
]
]
}
}
Когда я запускаю оператор SQL, указанный выше в моем средстве просмотра базы данных я получаю записи, которые должен получать:
Эта проблема не зависит от базы данных. Я подключился к внешней базе данных PostgreSQL, а также к локальной базе данных SQLite, и возникла та же проблема.
Я застрял в этом, так как я впервые начал с Laravel, и буквально я не могу этого сделать что-нибудь об этом. Я разместил проблему на GitHub Telescope, но она была закрыта, потому что «Это сработало для кого-то другого».
Шаги, которые я предпринял для воссоздания этой проблемы:
Установить переменную
DB_CONNECTION
в файле
.env
на
sqlite
Создан новый файл с именем
database.sqlite
в папке
/database
Выполнить команды:
composer require laravel/telescope
php artisan telescope:install
php artisan migrate
Кроме того, я не в производстве и я не сделал ничего больше, чем указано выше. Телескоп также не работает для меня, если я использую проект, созданный кем-то другим, но для этого человека он работает.
Любая помощь приветствуется!