Bonjour,

Voila je rencontre un problème au moment d'un save. Voici l'erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'id' cannot be null
Voici l'extrait de mon schema :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
CmsTypeDocument:
  actAs:                         
    Timestampable: ~ 
    I18n:
      fields: [label, description]
      actAs:
        Sluggable: { fields: [label], uniqueBy: [lang, label] }
  columns:
    label:                       { type: string(255)   , notnull: false }
    description:                 { type: clob(1000000) , notnull: false }
    position:                    { type: integer       , notnull: false }
    cms_user_id:                 { type: integer       , notnull: true  }
  relations:
    CmsUser:                     { local: cms_user_id,  foreign: id,    foreignAlias: CmsTypeDocuments, onDelete: CASCADE }     
 
# ------------------- 
 
CmsDocument:
  actAs:                         
    Timestampable: ~
    I18n:
      fields: [name, description]
      actAs:
        Sluggable: { fields: [name], uniqueBy: [lang, name] } 
  columns:
    name:                        { type: string(255)   , notnull: false }
    description:                 { type: clob(1000000) , notnull: false }
    size:                        { type: integer       , notnull: false }
    doc_file:                    { type: blob          , notnull: false } 
    doc_mimetype:                { type: string(255)   , notnull: false } 
    position:                    { type: integer       , notnull: false }
    cms_user_id:                 { type: integer       , notnull: true  }
    cms_type_document_id:        { type: integer       , notnull: true  }#<-- Revoir la règle !
  relations:
    CmsUser:                     { local: cms_user_id,           foreign: id,    foreignAlias: CmsDocuments, onDelete: CASCADE }   
    CmsTypeDocument:             { local: cms_type_document_id,  foreign: id,    foreignAlias: CmsDocuments, onDelete: CASCADE }
Voici l'extrait de mon fichier action :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
protected function processForm(sfWebRequest $request, sfForm $form)
    {
 
        $form->bind($request->getParameter($form->getName()), $request->getFiles($form->getName()));
 
        if ($form->isValid())
        {
            $cms_document = $form->save(); 
        }
    }
Voici ma classe CmsDocumentsForm.class.php :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
class CmsDocumentForm extends BaseCmsDocumentForm
{
  public function configure()
  {
      parent::setup();
      unset($this['created_at'],$this['updated_at']);
      $this->embedI18N(array('fr','en'));
      $this->widgetSchema->setLabel('fr', 'Français');
      $this->widgetSchema->setLabel('en', 'Anglais');
 
 
      $widget_schema = $this->getWidgetSchema();
      //Transforme le combo des user en champ caché.
      $widget_schema['cms_user_id'] = new sfWidgetFormInputHidden();
      //Transforme le champ longtexte en file
      $widget_schema['doc_file']    = new sfWidgetFormInputFile();
 
 
      $validator_schema = $this->getValidatorSchema();
      $validator_schema['cms_user_id'] = new sfValidatorDoctrineChoice(array('model' => 'CmsUser'));
      $validator_schema['doc_file']    = new sfValidatorFile();
  }
}
Ici je transforme mon champ doc_file en fichier d'upload.

Quelqu'un aurai une idée du problème ?

Merci