2

私はコードイグナイターでプロジェクトを行っています。私の問題は'game_aspect_details'、次のようなjson形式で値を保存することです

"{"game_aspect_details":[{"aspect_id":"1"},{"aspect_id":"4"}]}"

この選択クエリでは、json 形式をデコードし、その値を foreach で確認します。

    $this->db->select('game_aspect_details');
    $this->db->from('share_reviews');
    $this->db->where('review_id',6);
    $query = $this->db->get();
    $result = $query->result();
    $test = $result[0]->game_aspect_details;
    $res = json_decode($test);
    $result_array = array();        
    foreach ($res as $row)
    {            
        $this->db->select('comments');
        $this->db->from('review_ratings');
        $this->db->where('game_aspect_id',$row->game_aspect_details); //here i need
        $query1 = $this->db->get();                            to check 1 and 4 
        $resultReviews['comments'] = $query1->result();
        $result_array[] = $resultReviews;

    }
    print_r($res);
    exit;
4

2 に答える 2

1

このコードのコメントを参照してください。

...
//$test = $result[0]->game_aspect_details; // This does not work since $result is not decoded yet
$res = json_decode($result); // Changed to `$result` instead of `$test`
$res = $res->game_aspect_details; // Instead pick the `game_aspect_details` here, after the decode
$result_array = array();        
foreach ($res as $row)
{            
    $this->db->select('comments');
    $this->db->from('review_ratings');
    $this->db->where('game_aspect_id',$row['aspect_id']); // Changed to `aspect_id`
    $query1 = $this->db->get();
    $resultReviews['comments'] = $query1->result();
    $result_array[] = $resultReviews;
}
...
于 2013-07-29T11:27:43.670 に答える