Как сохранить отладку JSON в базу данных в Laravel? - PullRequest
0 голосов
/ 25 октября 2019

Я делаю API отдыха с auth с api_token и использую отладчик от Lanin, чтобы показать, когда произошла ошибка. Если api_token неверен, отладка покажет что-то вроде ниже

{
"error": "Unauthenticated.",
"debug": {
    "database": {
        "total": 1,
        "items": [
            {
                "connection": "mysql",
                "query": "select * from `users` where `api_token` = '630dcedd96aa370891b1649a972b577b2f262c90093b1903ae0a2ea63cf2c07cs' limit 1;",
                "time": 2.89
            }
        ]
    },
    "cache": {
        "hit": {
            "keys": [
                "424f74a6a7ed4d4ed4761507ebcd209a6ef0937b"
            ],
            "total": 1
        },
        "miss": {
            "keys": [
                "424f74a6a7ed4d4ed4761507ebcd209a6ef0937b",
                "424f74a6a7ed4d4ed4761507ebcd209a6ef0937b:timer",
                "424f74a6a7ed4d4ed4761507ebcd209a6ef0937b"
            ],
            "total": 3
        },
        "write": {
            "keys": [
                "424f74a6a7ed4d4ed4761507ebcd209a6ef0937b:timer",
                "424f74a6a7ed4d4ed4761507ebcd209a6ef0937b"
            ],
            "total": 2
        },
        "forget": {
            "keys": [],
            "total": 0
        }
    },
    "profiling": [
        {
            "event": "request-time",
            "time": 0.2898838520050049
        }
    ],
    "memory": {
        "usage": 11831808,
        "peak": 11896088
    }
}

}

, и я хочу сохранить журнал ошибок в базе данных. Как сохранить и прочитать данные, если я хочу сохранить это в базе данных таблицы? Я хочу сохранить запрос

"debug": {
"database": {
    "total": 1,
    "items": [
        {
            "connection": "mysql",
            **"query": "select * from `users` where `api_token` = '630dcedd96aa370891b1649a972b577b2f262c90093b1903ae0a2ea63cf2c07cs' limit 1;",
            "time": 2.89**
        }
    ]
},

1 Ответ

0 голосов
/ 25 октября 2019

С соответствующей моделью (отладка с полями «соединение», «запрос» и «время») вы можете декодировать json в массив и создать модель из этого.

Примерно так:

$jsonArray = json_decode($rawJson, true);
$debug = Debug:create($jsonArray);
...