Je commence à utiliser les fonctions serialize/unserialize sur mes modèles.
Il y a un truc énervant c'est que les références ne sont pas sérialisées récursivement.
J'ai bien trouvé la méthode serializeReferences(bool) et je l'utilise sur mon modèle Book pour les objets liés.
Mais par contre cette sérialisation ne se fait pas en profondeur. D'après le code de la méthode Doctrine_record::serialize il faut paramêtrer cela pour chaque objet lié.
Par exemple : dans mon modèle objet, un livre est lié à un Identifier qui est lui-même lié à un IdentifierType (ISBN13, ISBN10, EAN13) ; ex. :
Book->Identifier->identifierType
Du coup mon Identifiertype n'apparaît pas à la désérailisation.
J'ai trouvé comme moyen temporaire de modifier le constructeur de mes modèles pour inclure l'appel à la méthode serializeReferences.
1 2 3 4 5 6 7 8 9 10 11 12 13
|
//Exemple pour l'identifier :
class Publications_Model_Identifier extends Publications_Model_Base_Identifier
{
public function __construct($table = null, $isNewEntry = true)
{
parent::__construct($table, $isNewEntry);
$this->serializeReferences(true);
}
} |
Qu'en penses-tu ?
Merci encore
Partager