CakePHP-Fr.Org

Forum francophone du Framework CakePHP

Vous n'êtes pas identifié.

#1 20-07-2012 11:22:13

GrandYoz
Pièce Montée
Date d'inscription: 18-07-2009
Messages: 245

Ne pas appeler les callback comme afterfind

Bonjour,

Je souhaite, sur certains appels de find éviter d'appeler les callbacks, notament afterfind.

Est-ce possible ?

Merci d'avance,

A+

AG

Hors ligne

 

#2 20-07-2012 11:31:56

spout
Cooker
Date d'inscription: 18-12-2010
Messages: 1899

Re: Ne pas appeler les callback comme afterfind

Pour éviter d’appeler parent::afterFind() ?
Je pense que tu peux définir un afterFind() dans le modèle concerné, ne pas appeller parent::afterFind() et retourner $results tel quel.

Hors ligne

 

#3 20-07-2012 11:37:14

GrandYoz
Pièce Montée
Date d'inscription: 18-07-2009
Messages: 245

Re: Ne pas appeler les callback comme afterfind

Salut Spout,

Merci de ta réponse.

En fait, ce n'est pas tant l'appel au parent qui m'embête, mais bel est bien l'appel à afterFind défini dans le modèle directement.

En fait, dans mon afterFind, j'ajoute quelques champs parfois. Sauf que parfois, j'aimerai aussi ne pas les avoir (très exceptionnellement). Mais comme derrière, tout cela va transiter au sein d'une API sur du réseau GSM où je suis limité en data, j'aimerai éviter d'envoyer des champs qui servent à rien !

Au pire, je vais les effacer manuellement après ma requête, mais si je pouvais éviter de les créer, ce serait encore mieux !!

Hors ligne

 

#4 20-07-2012 11:45:36

spout
Cooker
Date d'inscription: 18-12-2010
Messages: 1899

Re: Ne pas appeler les callback comme afterfind

Je ne vois pas le problème, tu fais des tests isset($this->data[$this->alias]['field']) et tu px unset() ce qui n'est pas nécessaire.
Sinon le mieux est p-e de faire une fonction spéciale dans ton modèle (fat models skinny controllers) qui envoi les datas avec des "fields" prédéfinis au choix.
Il y'a aussi la possibilité d'ajouter un "custom find type":
http://book.cakephp.org/2.0/en/models/r … find-types

Hors ligne

 

#5 20-07-2012 12:07:52

GrandYoz
Pièce Montée
Date d'inscription: 18-07-2009
Messages: 245

Re: Ne pas appeler les callback comme afterfind

Merci, je pense que du coup, je vais faire un unset derrière. C'est le plus simple. Ce qui est dommage c'est que je passe dans une logique pour la défaire derrière... mais bon !

Je laisse le topic un peu ouvert au cas ou qq1 aurait la solution optimale qui serait de ne pas appeler la callback !

Merci encore,

A+

Hors ligne

 

#6 10-06-2016 11:59:58

RonanCa
Chouquette
Date d'inscription: 10-06-2016
Messages: 1

Re: Ne pas appeler les callback comme afterfind

Salut,

Si quelqu'un sait comment faire pour ne pas appeler les callbacks n'hésitez pas à répondre !

Hors ligne

 

#7 10-06-2016 15:55:02

GrandYoz
Pièce Montée
Date d'inscription: 18-07-2009
Messages: 245

Re: Ne pas appeler les callback comme afterfind

Salut,

Tu peux ne pas les appeler en faisans un callbacks Défini à false permet la désactivation des callbacks. En utilisant ‘before’ ou ‘after’ activera seulement ces callbacks.

C'est écrit ici : http://book.cakephp.org/2.0/fr/models/s … -data.html

Bonne journée

Hors ligne

 

Pied de page des forums

Propuls� par FluxBB
Traduction par FluxBB.fr