Bien le coucou,
Alors j'ai un petit soucis avec une fonction save j'avoue que je ne comprends point -_-

Explications :
Je lance une page sur l'url suivante : http://127.0.0.1/bouygues-telecom/games/launch/1

Quand je lance cette page j'ai cette petite fonction qui se lance

function launch($id){
        //Vérification si l'utilisateur est connecté ou non.
        // S'il ne l'est pas, redirection vers index.php
        $id_user = $this->Auth->user('id');
        if(!$user_id){
                $this->redirect('/');
                die(); 
        }
        //Sert pour l'affichage du nom du joueur sur la page en haut à droite
        $nomJoueur = $this->Auth->user('username');
        $this->set('nomDuJoueur',$nomJoueur);
        //Fonction d'insertion dans la table Experiences_users
        // 20points d'expériences + id_games, id_user.
        if($this->request->is('get')){
            $this->loadModel('Experiences_users');
            $points = 20;
            $experiencesUpdate'Experiences_users']'experiences'] = $points;
            $experiencesUpdate'Experiences_users']'id_games'] = $id;
            $experiencesUpdate'Experiences_users']'id_user'] = $id_user;
            if($this->Experiences_users->save($experiencesUpdate,true,array('id_games','id_user','experiences'))){
            }
        }

Bon c'est un truc tout simple quand même -_- Mais j'ai une "erreur". En effet après l'insertion je vois que ma fonction insère 5 lignes et non une seule -_- Je ne comprends pas :s c'est le 'get' qui fout la merde ? En même temps c'est pas du post que je fais, je clique juste sur un lien pour aller sur une autre page donc du coup...

Si quelqu'un a une idée sur ma bêtise je dis pas non ^^

2 réponses


Salut Christoufe8625,

Je ne suis pas un expert mais pourquoi mettre ton save dans un if si tu n'a pas de condition à suivre??

Essaie peut-être en mettant tout simplement

$this->Experiences_users->save($experiencesUpdate,true,array('id_games','id_user','experiences'))

Si ça ne marche pas, tu peux aussi faire un debug de $experienceUpdate pour savoir ce qui est renvoyé.

Bon dèv'!

Chalut à toi !
Et bien j'ai fait un débug voici le résultat :

\app\Controller\GamesController.php (line 85)
array(
    'Experiences_users' => array(
        'experiences' => (int) 20,
        'id_games' => '1',
        'id_user' => '2'
    )
)

Donc je n'ai qu'un petit tableau avec mes bonnes valeurs dedans. J'ai essayé effectivement sans le IF mais du coup ça change rien, il me fait un save en 5 exemplaires -_-

J'ai repris le save du l'inscription de l'user sur le tp de Grafikart, c'est ça qui me trouble aussi, c'est que normalement ça devrait me faire qu'une seule ligne -_-