Bonjour à tous.
En effectuant ce code je me rend compte que cake effectue des updates au lieu d'insert into le but de ce controller étant d'ajouter les données d'un fichier XML dans ma BDD.
//Load du model Serie et récupération du dernier ID de la table Series
$this->loadModel('Serie');
$last = $this->Series->getLastInsertID();
//Load le model Episode pour l'ajout et set des champsBDD>XML
$this->loadModel('Episode');
$champsep= array('id_episode'=>'id',
'combined_episodenumber'=>'Combined_episodenumber',
'combined_season'=>'Combined_season',
'episodename'=>'EpisodeName',
'episodenumber'=>'EpisodeNumber',
'firstaired'=>'FirstAired',
'overview'=>'Overview',
'rating'=>'Rating',
'ratingcount'=>'RatingCount',
'filename'=>'filename');
$this->Episode->set(array(
'fk_series' => ''.$last.''
));
for ($i=0; $i<count($parsed_xml'Data']'Episode']);$i++)
{
foreach ($champsep as $key => $value){
$this->Episode->set($key, $parsed_xml'Data']'Episode']$i]$value]);
}
$this->Episode->save();
}
En essayant avec un saveAll() j'obtiens une erreur de ce type :
Warning (2): array_keys() [function.array-keys]: The first argument should be an array [CORE/Cake/Model/Model.php, line 1990].
En attente de votre réponse, merci.
Bonjour,
Fais un
$this->Episode->create()
après ton
$this->Episode->save()
.
Happy Baking !
Salut,
Essai de creuser avec la méthode create():
//Création: id n'est pas défini ou est null
$this->Recette-><strong>create()</strong>;
$this->Recette->save($this->data);
//Mise à jour: id est défini à une valeur numérique
$this->Recette->id = 2;
$this->Recette->save($this->data);
Salut, merci de ta réponse, j'ai oublier de précisé que je suis sur la 2.0 cela change t-il quelque chose ?
Merci.