2017-09-04 1 views
0
[{ 
    "synonyms": [{ 
     "synonyms": "s1", 
     "wordId": 117 
    }, { 
     "synonyms": "s2", 
     "wordId": 117 
    }, { 
     "synonyms": "s3", 
     "wordId": 117 
    }, { 
     "synonyms": "s4", 
     "wordId": 117 
    }] 
}, { 
    "synonyms": [{ 
     "synonyms": "s5", 
     "wordId": 118 
    }, { 
     "synonyms": "s6", 
     "wordId": 118 
    }, { 
     "synonyms": "s7", 
     "wordId": 118 
    }] 
}] 

Je cherchais à ajouter au-dessus de tableau pour l'insertion de lot Codeigniter et il échoue .. Comment convertir le tableau ci-dessus pour insérer la base de données de MySQLModification de tableau 2D pour le lot de compatibilité Codeigniter insérer

Répondre

0

Outre le fait, que vous n'avez rien montré de ce que vous avez essayé jusqu'à présent, vous devez comprendre que votre chaîne postée n'est pas un tableau mais une chaîne JSON.

Afin d'obtenir ce que vous voulez que vous avez à décoder cette chaîne - basé sur l'exemple ci-dessous, vous devriez être en mesure de comprendre comment que vous pouvez voir un insert_batch est de ne pas faire que

class Your_Model extends CI_Model 
{ 
    public function insert() 
    { 
     $strJson = '[{ 
      "synonyms": [{ 
       "synonyms": "s1", 
       "wordId": 117 
      }, { 
       "synonyms": "s2", 
       "wordId": 117 
      }, { 
       "synonyms": "s3", 
       "wordId": 117 
      }, { 
       "synonyms": "s4", 
       "wordId": 117 
      }] 
     }, { 
      "synonyms": [{ 
       "synonyms": "s5", 
       "wordId": 118 
      }, { 
       "synonyms": "s6", 
       "wordId": 118 
      }, { 
       "synonyms": "s7", 
       "wordId": 118 
      }] 
     }]'; 

     $arrData = json_decode($strJson); 


     foreach($arrData AS $obj) 
     { 
      foreach($obj->synonyms AS $objSynonym) 
      { 
       $arrInsertData = [ 
        "synonyms" => $objSynonym->synonyms, 
        "wordId" => $objSynonym->wordId 
       ]; 

       $this->db->insert("your_table", $arrInsertData); 
      } 
     } 

    } 
} 

nécessaire parce que vous devez itérer sur votre tableau de toute façon.