Как исправить hmset redis - PullRequest
       2

Как исправить hmset redis

0 голосов
/ 01 июня 2019

Я занимаюсь разработкой apirest и хочу использовать redis для оптимизации.Я использую hmset (ключ, значение), чтобы затем пройти и найти значение в конечной точке для обновления.

Я использую Lumen / Laravel и php 7.3

$package = Package::where('published', 1)
            ->where('persist', 1)
            ->get();
Redis::hmset('packages', array($package));

$packages = Redis::hgetall('packages');
return response()->json($packages, 200);

Мне нужнополучить формат JSON, но я получил это.Я пробовал json_decode, но он не работает

[
    "[{\"id\":1,\"name\":\"Paquete A\",\"dimensions\":\"100x100x100\",\"weight_from\":\"0.00\",\"weight_to\":\"1.00\",\"detail\":\"forrado con papel madera\",\"price\":\"50.00\",\"distance_from\":\"0.00\",\"distance_to\":\"5.00\",\"exceed_price\":\"5.00\",\"status\":1,\"published\":1,\"persist\":1,\"created_at\":\"2019-05-29 01:35:53\",\"updated_at\":\"2019-05-29 01:35:53\"}]"
]

1 Ответ

0 голосов
/ 01 июня 2019

Вам нужно использовать stripslashes () перед json_decode ().Stripslashes () удаляет кавычки из строки в кавычках

<?php
$str = "Is your name O\'reilly?";

// Outputs: Is your name O'reilly?
echo stripslashes($str);
?>

Это удалит косую черту.Ваш код станет таким:

$package = Package::where('published', 1)
            ->where('persist', 1)
            ->get();
Redis::hmset('packages', array($package));

$packages = Redis::hgetall('packages');
return response()->json(stripslashes($packages), 200);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...