Bonjour à tous !
Voici ma question, pour 99% de mes requêtes j'utilise un profile_id pour effectuer mes recherche.
Voici un petit exemple :) :
Marcel à un profile, il a poster plusieurs message et a décider d'afficher ses informations. Id du profile de Marcel est 4.
Je veut afficher les messages de Marcel: /MessagesController/GetMessages/4.
Je veut afficher le profile de Marcel: /ProfilesController/GetProfile/4.
Jusque la tout allais parfaitement bien, j'ai par la suite modifier mes route.
Les messages de Marcel: /4/Messages/.
Le profile de Marcel: /4/Profile/.
Oui mais 4 c'est moche moi je veut /Marcel/Messages/
Et c'est la que ça cloche, car mes Controllers s'attende à recevoir un profile_id et non pas le nom du profile.
Ma question est la suivante: est-il possible de "court-circuiter" le profile_name ("Marcel"), charger ID associer et l'injecter dans les controllers ?
Ou alors je dois refaire tout mes fonctions pour charger les infos via le profile_name et non plus id.
D'avance, un grand MERCI !
Va voir vu cette page.
Pour info, tu peux faire passer n'importe quelle donnée à travers $id qui est relative à ton "profile_id". Donc au lieu d'écriture dans ta vue [users][id], tu écris [users][name].
Bonjour palmer08,
merci pour ta réponse mais hélas cela ne réglés pas mon problème.
Je m'explique j'ai déjà pas mal de Fonction coder et dans la plupart, elle s'attende a recevoir profile_id.
Par exemple, pour les message :
GetMessage( $profile_id )
{
return $this->Message->find('all', array('conditions'=>array('Message.profile_id' => $profile_id)));
}
Et c'est comme cela pour pas mal de fonctionnalités.
Donc ma question est la suivante, est t'il possible dans le cas d'une route d'associer un profile_id au profile name.
J'ai donc une "jolie" route /Marcel/Message
et lors de l'appelle il passe profile_id a mes fonctions.
Si pas je refais mes fonctions, d'avance merci.
Moi a fonctionné avec:
GetMessage($id){
return $this->Message->find('all', array('conditions' => array('Message.profil_name' => $id)));
}
Et dans ta vue ton lien:
$this->Html->link('Voir Message', array('controller' => 'ton controller', 'action' => 'ton action', $message'Profile']'name']));
c'est ce que je disait je dois recoder les fonctions :)
En remplacent le profile_id par profile_name.
Moi j'aurais aimer une solution qui ne m'oblige pas à recoder l'ensemble de mes fonctions pour changer l'argument de recherche. :)
Pas de soucis. Bon j'ai tjrs pas trouver, je vais devoir surement recoder une partie des fns :s