Как декодировать каждое значение массива, хранящегося в базе данных - PullRequest
0 голосов
/ 21 июня 2020

Это print_r($query->getResult()):

Array ( [0] => stdClass Object ( [id] => 9
                                 [user_id] =>
                                 [title] =>
                                 [message] => [{"title":"Nice","option":"Text 1"},{"title":"nice 2","option":"text 2"},{"title":"nice 3","option":"text 3"}]
                                 [created_at] => 2020-06-21 16:59:49
               )
)

Я пытаюсь повторить его, используя:

$query = $db->query("SELECT * from user_msg");

foreach (json_decode($query->getResult()) as $key => $additional_field) {
 
echo $additional_field->title;

}

Но, к сожалению, я получил эту ошибку:

json_decode () ожидает, что параметр 1 будет строкой, заданным массивом

1 Ответ

0 голосов
/ 21 июня 2020

Я не знаю CodeIgnitor, но на основе массива результатов и JSON вам нужно сделать что-то вроде этого:

foreach ($query->getResult() as $row) {
    foreach(json_decode($row->message) as $msg) {
        echo $msg->title;
    }   
}

L oop каждую строку в результате расшифровать message и l oop, чтобы получить title s.

...