2010-12-06 22 views
2

Au-dessus du type de schéma =). Cela devrait au moins vous donner l'idée. format slug Desigred "A.name-B.name"Symfony 1.4 Doctrine Comportements lugubres, comportements bizarres! comment gérer les clés étrangères lors de la sauvegarde?

J'ai écrit un importateur de CSV où champ A.slug est généré correctement (je n'ai rien fait pour l'ajuster, tout est allé par défaut).

Mais je suis confronté à un problème lors de l'enregistrement de l'enregistrement dans le backend (générateur d'administration symfony). Il génère le slug sous le nom A.name-B.id. Q: Quelle est la meilleure façon/direction pour gérer ce cas, je dois donc les limaces normales sans ID

Répondre

1

Je crois qu'il travaille à définir la relation dans le cadre du Sluggable, plutôt que la colonne de clé étrangère, à savoir:

Sluggable: 
    fields: [name, B] 

Pourvu que vous avez une méthode __toString() sur B. Si cela ne fonctionne pas, ou si vous voulez une logique plus complexe, vous pouvez utiliser l'option constructeur:

Sluggable: 
    builder: [ATable, buildSlug] 

vous pouvez ensuite définir ATableau :

public static function buildSlug($proposal, $instanceofA) 
{ 
    return $instanceofA->name . '-' . $instanceofA->B->name; //do any other case altering, symbol removing here as well 
}