- Title: Member
- Status: Offline
- Registered: 05-12-2008
- Posts: 247
Topic: Containable fa lavorare le afterFind anche nei modelli collegati?
Ciao a tutti
mi confermate che, utilizzando il behavior Containable le afterFind dei modelli collegati funzionano??
ho alcuni spezzoni di codice (un paio di campi calcolati) che, se tolgo containable, smettono di funzionare.
- Title: Member
- Status: Offline
- Registered: 25-09-2008
- Posts: 51
Re: Containable fa lavorare le afterFind anche nei modelli collegati?
A me containable non è che entusiasmi parecchio, a me capita che mi tira dentro anche dei campi che effettivamente non contengono quello che chiedo.
Teoricamente dovrebbero funzionare. Praticamente se mi spieghi qual'è l'anomalia possiamo capire il perchè.
- Title: Member
- Status: Offline
- Registered: 05-12-2008
- Posts: 247
Re: Containable fa lavorare le afterFind anche nei modelli collegati?
vediamo se riesco a spiegarmi con un esempio...
ammettiamo d iavere 2 modelli collegati tra di loro
Order hasMany Item
nella callback afterFind del modello Item ho una semplice routine che mi aggiunge un campo calcolato
function afterFind ($results = array(), $primary = false) {
foreach ($results as &$item) {
if (isset($item[$this->alias][$this->primaryKey])) {
$item[$this->alias]["Boh"] = "ProvaProva";
}
}
return $results;
}
a questo punto, dal controller Orders tento di recuperare i dati.
function ricercaStandard () {
//senza usare containable
$this->recursive = 2;
pr($this->Order->find("all"));
//nell'output nn c'é traccia de campo creato nella afterFind
}
function usandoContainable () {
//utilizzando containable
pr($this->Order->find("all", array("contain" => array("OrderItems"))));
//qua invece il campo calcolato appare
}
- Title: Member
- Status: Offline
- Registered: 25-09-2008
- Posts: 51
Re: Containable fa lavorare le afterFind anche nei modelli collegati?
strano... ma ti da il campo non valorizzato o proprio non lo vedi?
prova a fare un read e a vedere se esiste e se lo vede. se no mi sembra strano che con il contanaible si e con l'altro no, a meno che prima si fa la query poi si fa l'afterfind e poi bisogna rieseguire la query, prova a fare una cagata del tipo:
pr($this->Order->find("all"));
pr($this->Order->find("all"));
- Title: Member
- Status: Offline
- Registered: 05-12-2008
- Posts: 247
Re: Containable fa lavorare le afterFind anche nei modelli collegati?
uhm... secondo me containable utilizza tutti i modelli come fossero primari
facendo ciò aggira uno degli attuali limiti di cake (le callback che nn funzionano se il modello nn é il principale)
- Title: Member
- Status: Offline
- Registered: 25-09-2008
- Posts: 51
Re: Containable fa lavorare le afterFind anche nei modelli collegati?
può essere, sinceramente non lo so proprio.
prova a postare su googlegroup magari qualche anima pia ne sa qualcosa
Posts [ 6 ]
Guest posting is disabled. You must login or register to post a reply.
Topic info
0 guests and 0 users are reading this topic now
Currently used extensions: pun_topic_online_users, pun_karma, pun_admin_hook_navigator, pun_bbcode. Copyright © 2008 PunBB