2016-12-30 3 views
1

Я работаю на Laravel приложение, и я храню свои данные в формате JSON закодированном виде, какНевозможно декодировать данные из БД (Php Laravel 5,3)

{"name":"Ali","email":"[email protected]"} 

Он показывает, как указано выше, в текстовом поле БД

В моем методе я получаю данные как

function users($id, Request $request) 
{ 
    $method = $request->method(); 

    if($request->isMethod('GET')) { 

     $users = DB::table('user_settings')->select('notification_setting')->first(); 
     print_r($notification_smtp); 
     die; 

     return view('setting/user'); 
    } 
} 

Ниже приведен вывод кода выше:

stdClass Object ([notification_setting] => {"name":"Ali","email":"[email protected]"}) 

Если я пытаюсь расшифровать это дает ошибку, как json_decode 2-ой параметр должен быть строковый объект передается

Как я могу получить ответ на этот формат?

stdClass Object ([name] => Ali [email] => [email protected]) 

Как я могу это достичь?

+0

Можете ли вы опубликовать заявление, используемый для декодирования JSON? – Samir

+0

это говорит как json_decode() ожидает, что параметр 1 является строкой, заданный объект –

+0

Да, нам нужен метод/оператор, который вы использовали в своем коде для декодирования JSON. – Samir

ответ

1

Try, print_r(json_decode($notification_smtp->notification_setting));

0

ли вы попробовать сериализации? как получить переменную TMP с разобранным объектом

//your code 
$users = DB::table('user_settings')->select('notification_setting')->first(); 
       print_r($notification_smtp); 
       die; 
//try this 
$tmp = (string) $user; 
dd($tmp); 

если не поможет, прочитать Laravel документ, его очень хорошо. не

Laravel Serialization

Если до сих пор не помогает вам, Google сериализации и unserialization;)

Смежные вопросы