Bonsoir
Dans le schéma ci dessous, j'ai plusieurs relations dans la table
Plan :
+ Une relation one to many avec sfGuardUser
+ Une relation many to many avec Domaine
+ Une relation many to many avec sfGuardUser
Mes classes et mes tables sont correctement générées, et les relations
sont correctement créées :
+ data/sql/schema.sql OK, lib/doctrine./.
+ lib/model/doctrine/base/BasePlan.class.php :
$this->hasMany('PlanParticipant as PlanParticipants',
array(
'local' => 'id',
'foreign' => 'plan_id'));
Et pourtant : La relation many to many avec sfGuardUser n'est pas
présente dans le formulaire du modèle Plan, alors que les autres
relations fonctionnent parfaitement : J'ai un widget 'domaine_list'
mais pas de widget 'participant_list'. La classe filter associée est
aussi mal générée.
Évidemment, j'ai fait un symfony cc, un symfony fix-perms, un symfony
doctrine:build-forms, un symfony doctrine:build-all-reload, regardé le
log, sans succès.
Dans mon admin, je n'ai pas non plus de combo box pour sélectionner
les utilisateurs.
J'utilise les plugins sfGuardUser, sfFormExtraPlugin et Doctrine.
Auriez vous une idée d'ou cela peut venir ?
Merci d'avance.
Loïc
Voici mon schema.yml :
----- DEBUT SCHEMA -----
## YAML Template.
Plan:
actAs: { Timestampable: ~ }
columns:
id:
type: integer(4)
primary: true
autoincrement: true
titre: { type: string(255), notnull: true }
pilote_id: { type: integer(4), notnull: true }
lieu: { type: string(255) }
domaine_autre: { type: string(255) }
participant_externe: { type: string(255)}
observation: { type: clob }
etat: { type: string(255) }
relations:
sfGuardUser:
foreignAlias: Pilote
local: pilote_id
foreign: id
type: one
foreignType: many
onDelete: CASCADE
sfGuardUser:
class: Participant
local: plan_id
foreign: user_id
type: many
foreignType: many
foreignAlias: PlansParticipants
refClass: PlanParticipant
onDelete: CASCADE
Domaine:
class: Domaine
local: plan_id
foreign: domaine_id
type: many
foreignType: many
foreignAlias: PlansPilotes
refClass: PlanDomaine
onDelete: CASCADE
Tache:
actAs: { Timestampable: ~}
columns:
id:
type: integer(4)
primary: true
autoincrement: true
plan_id: { type: integer(4), notnull: true }
user_id: { type: integer(4), notnull: true }
tache: { type: clob }
date_prevue: { type: date }
date_realisee: { type: date }
relations:
sfGuardUser:
foreignAlias: User
local: user_id
foreign: id
type: one
foreignType: many
onDelete: CASCADE
Plan:
foreignAlias: Plan
local: plan_id
foreign: id
type: one
foreignType: many
onDelete: CASCADE
PlanParticipant:
columns:
plan_id: { type: integer(4), primary: true }
user_id: { type: integer(4), primary: true }
relations:
Plan:
local: plan_id
foreign: id
foreignAlias: PlanParticipants
onDelete: CASCADE
sfGuardUser:
local: user_id
foreign: id
foreignAlias: PlanParticipants
onDelete: CASCADE
Domaine:
columns:
id:
type: integer(4)
primary: true
autoincrement: true
nom: { type: string(255), notnull: true }
PlanDomaine:
columns:
plan_id: { type: integer(4), primary: true }
domaine_id: { type: integer(4), primary: true }
relations:
Plan:
local: plan_id
foreign: id
foreignAlias: PlanDomaines
onDelete: CASCADE
Domaine:
local: domaine_id
foreign: id
foreignAlias: PlanDomaines
onDelete: CASCADE
sfGuardUserProfile:
columns:
id:
type: integer(4)
primary: true
autoincrement: true
user_id:
type: integer(4)
notnull: true
email:
type: string(255)
relations:
sfGuardUser:
foreignAlias: User
local: user_id
foreign: id
type: one
foreignType: one
onDelete: CASCADE
----- FIN SCHEMA -----
--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe Groupe "Symfony-fr"
de Google Groupes.
Pour transmettre des messages à ce groupe, envoyez un e-mail à
l'adresse [email protected]
Pour résilier votre abonnement à ce groupe, envoyez un e-mail à
l'adresse [email protected]
Pour afficher d'autres options, visitez ce groupe à l'adresse
http://groups.google.com/group/symfony-fr?hl=fr
-~----------~----~----~----~------~----~------~--~---