2010/2/27 Cyril <[email protected]>
> Bonjour à tous, j'ai actuellement un problème pour réaliser un
> formulaire d'administration pour les relations N:N.
> J'ai essayé de commencé mon apprentissage simplement en faisant un
> blog avec symfony et voici donc le modèle de données :
>
> (...)
>
> Cependant quand je vais sur l'administration, voici l'erreur : Widget
> "PostsTags" does not exist.
> Si quelqu'un pouvait m'expliquer comment faire, car là je ne vois
> vraiment pas.
> merci d'avance.
>
>
Bonjour
Beaucoup de la configuration qui se faisait avant directement dans le
generator.yml (v1.0/1.1) se fait maintenant directement dans la classe du
formulaire.
Il te faut modifier le widget affiché directement dans
/lib/form/doctrine/PostsForm.
class.php, pour positionner correctement ton widget.
Je pense aussi que ton plan n'est pas correct (ou pas assez détaillé).
Essayes de te baser sur cet exemple, que je viens de faire a partir de ton
plan. J'ai commenté une relation :
Post:
actAs: { Timestampable: ~ }
columns:
titre:
type: string()
fixed: false
unsigned: false
notnull: true
primary: false
auteur_id:
type: integer(4)
fixed: false
unsigned: false
notnull: false
default: '0'
primary: false
relations:
# 1 to many
Auteur:
#La classe distante
class: User
# L'alias utilisé sur la classe distante : Permet de faire
$user->getPosts() pour avoir tous les posts de l'utilisateur
foreignAlias: Posts
# id local
local: auteur_id
# id distant
foreign: id
# Type de relation :
# 1 post a 1 auteur
type: one
# 1 auteur a plusieurs posts
foreignType: many
# Si on efface l'auteur, tous les posts sont détruits
onDelete: CASCADE
#many to many
Tags:
class: Tag
local: post_id
foreign: tag_id
type: many
foreignType: many
foreignAlias: PostTags
refClass: PostTag
onDelete: CASCADE
PostTag:
columns:
post_id: { type: integer, primary: true }
tag_id : { type: integer, primary: true }
relations:
Post:
local: post_id
foreign: id
foreignAlias: PostTags
onDelete: CASCADE
Tag:
local: tag_id
foreign: id
foreignAlias: PostTags
onDelete: CASCADE
Ceci devrais t'aider, si j'ai pas fait d'erreurs...
Cordialement
Loïc
--
Vous recevez ce message, car vous êtes abonné au groupe Google
Groupes Symfony-fr.
Pour envoyer un message à ce groupe, adressez un e-mail
à [email protected].
Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse
[email protected].
Pour plus d'options, consultez la page de ce groupe :
http://groups.google.com/group/symfony-fr?hl=fr