【问题标题】:invalid schema element named "User" at path "OperationC->columns->relations路径“OperationC->columns->relations”中名为“User”的无效架构元素
【发布时间】:2012-07-27 00:38:45
【问题描述】:

当我尝试构建模型时,我得到了这个错误:

路径“OperationC->columns->relations”中名为“User”的无效架构元素

这是我的 schema.yml:

Contact:
  connection: doctrine
  tableName: contact
  columns:

    id_contact:
      type: integer(2)
      fixed: false
      unsigned: false
      primary: true
      autoincrement: true
    nom:
      type: string(30)
      fixed: false
      unsigned: false
      primary: false
      notnull: false
      autoincrement: false
    fonction_organisme:
      type: string(1000)
      fixed: false
      unsigned: false
      primary: false
      notnull: false
      autoincrement: false
    categorie:
      type: string(300)
      fixed: false
      unsigned: false
      primary: false
      notnull: false
      autoincrement: false
    region:
      type: string(1000)
      fixed: false
      unsigned: false
      primary: false
      notnull: false
      autoincrement: false
    province:
      type: string(500)
      fixed: false
      unsigned: false
      primary: false
      notnull: false
      autoincrement: false
    adresse:
      type: string(1000)
      fixed: false
      unsigned: false
      primary: false
      notnull: false
      autoincrement: false
    tel1:
      type: string(30)
      fixed: false
      unsigned: false
      primary: false
      notnull: false
      autoincrement: false
    tel2:
      type: string(30)
      fixed: false
      unsigned: false
      primary: false
      notnull: false
      autoincrement: false
    tel3:
      type: string(30)
      fixed: false
      unsigned: false
      primary: false
      notnull: false
      autoincrement: false
    tel4:
      type: string(30)
      fixed: false
      unsigned: false
      primary: false
      notnull: false
      autoincrement: false
    email:
      type: string(30)
      fixed: false
      unsigned: false
      primary: false
      notnull: false
      autoincrement: false
    fax:
      type: string(30)
      fixed: false
      unsigned: false
      primary: false
      notnull: false
      autoincrement: false
    ville:
      type: string(50)
      fixed: false
      unsigned: false
      primary: false
      notnull: false
      autoincrement: false
    journal:
      type: string(2000)
      fixed: false
      unsigned: false
      primary: false
      notnull: false
      autoincrement: false
    commentaire:
      type: string(2000)
      fixed: false
      unsigned: false
      primary: false
      notnull: false
      autoincrement: false
    fix:
      type: string(30)
      fixed: false
      unsigned: false
      primary: false
      notnull: false
      autoincrement: false
    image:
      type: string(30)
      fixed: false
      unsigned: false
      primary: false
      notnull: false
      autoincrement: false
    owner:
      type: string(30)
      fixed: false
      unsigned: false
      primary: false
      notnull: false
      autoincrement: false
  relations:
    Evenement:
      local: id_contact
      foreign: id_contact_event
      type: many
    Users : 
      class :   User
      refclass : Operation_contact
      foreignAlias : Contact  
Courrier:
  connection: doctrine
  tableName: courrier
  columns:
    num_serie:
      type: integer(2)
      fixed: false
      unsigned: false
      primary: true
      autoincrement: false
    annee:
      type: integer(2)
      fixed: false
      unsigned: false
      primary: true
      autoincrement: false
    num_c:
      type: integer(2)
      fixed: false
      unsigned: false
      primary: false
      notnull: true
      autoincrement: false
    exp:
      type: string(500)
      fixed: false
      unsigned: false
      primary: false
      notnull: false
      autoincrement: false
    dest:
      type: string(500)
      fixed: false
      unsigned: false
      primary: false
      notnull: false
      autoincrement: false
    state:
      type: string(10)
      fixed: false
      unsigned: false
      primary: false
      notnull: true
      autoincrement: false
    objet:
      type: string(1000)
      fixed: false
      unsigned: false
      primary: false
      notnull: true
      autoincrement: false
    image_c:
      type: string(500)
      fixed: false
      unsigned: false
      primary: false
      notnull: true
      autoincrement: false
    date_recep:
      type: date(25)
      fixed: false
      unsigned: false
      primary: false
      notnull: false
      autoincrement: false
    date_env:
      type: date(25)
      fixed: false
      unsigned: false
      primary: false
      notnull: false
      autoincrement: false
    owner_c:
      type: string(30)
      fixed: false
      unsigned: false
      primary: false
      notnull: true
      autoincrement: false
    user_c:
      type: string(30)
      fixed: false
      unsigned: false
      primary: false
      notnull: true
      autoincrement: false
    type_c:
      type: string(500)
      fixed: false
      unsigned: false
      primary: false
      notnull: true
      autoincrement: false
  relations : 
    Users : 
      class : User
      refclass : Operation_c
      foreignAlias : Courriers
Evenement:
  connection: doctrine
  tableName: evenement
  columns:
    id_event:
      type: integer(2)
      fixed: false
      unsigned: false
      primary: true
      autoincrement: true
    date:
      type: date(25)
      fixed: false
      unsigned: false
      primary: false
      notnull: true
      autoincrement: false
    action:
      type: string(2000)
      fixed: false
      unsigned: false
      primary: false
      notnull: true
      autoincrement: false
    id_contact_event:
      type: integer(2)
      fixed: false
      unsigned: false
      primary: false
      notnull: true
      autoincrement: false
  relations:
    Contact:
      local: id_contact_event
      foreign: id_contact
      type: one
OperationC:
  connection: doctrine
  tableName: operation_c
  columns:
    id_user:
      type: integer(2)
      fixed: false
      unsigned: false
      primary: true
      autoincrement: false
    num_serie:
      type: integer(2)
      fixed: false
      unsigned: false
      primary: true
      autoincrement: false
    operation_c:
      type: string(2000)
      fixed: false
      unsigned: false
      primary: false
      notnull: true
      autoincrement: false
    date_op_c:
      type: date(25)
      fixed: false
      unsigned: false
      primary: false
      notnull: true
      autoincrement: false
    relations : 
      User : { onDelete : CASCADE }
      Courrier : { onDelete : CASCADE }
OperationContact:
  connection: doctrine
  tableName: operation_contact
  columns:
    id_contact:
      type: integer(2)
      fixed: false
      unsigned: false
      primary: true
      autoincrement: false
    id_user:
      type: integer(2)
      fixed: false
      unsigned: false
      primary: true
      autoincrement: false
    operation:
      type: string(2000)
      fixed: false
      unsigned: false
      primary: false
      notnull: true
      autoincrement: false
    date_op:
      type: date(25)
      fixed: false
      unsigned: false
      primary: false
      notnull: true
      autoincrement: false
  relations : 
      User : { onDelete : CASCADE }
      Courrier : { onDelete : CASCADE }
User:
  connection: doctrine
  tableName: user
  columns:
    id_user:
      type: integer(2)
      fixed: false
      unsigned: false
      primary: true
      autoincrement: true
    nom_user:
      type: string(30)
      fixed: false
      unsigned: false
      primary: false
      notnull: true
      autoincrement: false
    adresse_user:
      type: string(2000)
      fixed: false
      unsigned: false
      primary: false
      notnull: true
      autoincrement: false
    tel_user:
      type: string(30)
      fixed: false
      unsigned: false
      primary: false
      notnull: true
      autoincrement: false
    login:
      type: string(30)
      fixed: false
      unsigned: false
      primary: false
      notnull: true
      autoincrement: false
    password:
      type: string(30)
      fixed: false
      unsigned: false
      primary: false
      notnull: true
      autoincrement: false

【问题讨论】:

    标签: php doctrine symfony-1.4


    【解决方案1】:

    你的schema.yml有很多错误:

    • reclass 应该是 refClass
    • 你对一些relations 做了一些不好的缩进(这是你描述的错误)
    • 命名表/关系有一些错误(Operation_contactOperation_c

    这是您的工作和修复schema.yml

    Contact:
      connection: doctrine
      tableName: contact
      columns:
    
        id_contact:
          type: integer(2)
          fixed: false
          unsigned: false
          primary: true
          autoincrement: true
        nom:
          type: string(30)
          fixed: false
          unsigned: false
          primary: false
          notnull: false
          autoincrement: false
        fonction_organisme:
          type: string(1000)
          fixed: false
          unsigned: false
          primary: false
          notnull: false
          autoincrement: false
        categorie:
          type: string(300)
          fixed: false
          unsigned: false
          primary: false
          notnull: false
          autoincrement: false
        region:
          type: string(1000)
          fixed: false
          unsigned: false
          primary: false
          notnull: false
          autoincrement: false
        province:
          type: string(500)
          fixed: false
          unsigned: false
          primary: false
          notnull: false
          autoincrement: false
        adresse:
          type: string(1000)
          fixed: false
          unsigned: false
          primary: false
          notnull: false
          autoincrement: false
        tel1:
          type: string(30)
          fixed: false
          unsigned: false
          primary: false
          notnull: false
          autoincrement: false
        tel2:
          type: string(30)
          fixed: false
          unsigned: false
          primary: false
          notnull: false
          autoincrement: false
        tel3:
          type: string(30)
          fixed: false
          unsigned: false
          primary: false
          notnull: false
          autoincrement: false
        tel4:
          type: string(30)
          fixed: false
          unsigned: false
          primary: false
          notnull: false
          autoincrement: false
        email:
          type: string(30)
          fixed: false
          unsigned: false
          primary: false
          notnull: false
          autoincrement: false
        fax:
          type: string(30)
          fixed: false
          unsigned: false
          primary: false
          notnull: false
          autoincrement: false
        ville:
          type: string(50)
          fixed: false
          unsigned: false
          primary: false
          notnull: false
          autoincrement: false
        journal:
          type: string(2000)
          fixed: false
          unsigned: false
          primary: false
          notnull: false
          autoincrement: false
        commentaire:
          type: string(2000)
          fixed: false
          unsigned: false
          primary: false
          notnull: false
          autoincrement: false
        fix:
          type: string(30)
          fixed: false
          unsigned: false
          primary: false
          notnull: false
          autoincrement: false
        image:
          type: string(30)
          fixed: false
          unsigned: false
          primary: false
          notnull: false
          autoincrement: false
        owner:
          type: string(30)
          fixed: false
          unsigned: false
          primary: false
          notnull: false
          autoincrement: false
      relations:
        Evenement:
          local: id_contact
          foreign: id_contact_event
          type: many
        Users :
          class :   User
          refClass : OperationContact
          foreignAlias : Contact
    Courrier:
      connection: doctrine
      tableName: courrier
      columns:
        num_serie:
          type: integer(2)
          fixed: false
          unsigned: false
          primary: true
          autoincrement: false
        annee:
          type: integer(2)
          fixed: false
          unsigned: false
          primary: true
          autoincrement: false
        num_c:
          type: integer(2)
          fixed: false
          unsigned: false
          primary: false
          notnull: true
          autoincrement: false
        exp:
          type: string(500)
          fixed: false
          unsigned: false
          primary: false
          notnull: false
          autoincrement: false
        dest:
          type: string(500)
          fixed: false
          unsigned: false
          primary: false
          notnull: false
          autoincrement: false
        state:
          type: string(10)
          fixed: false
          unsigned: false
          primary: false
          notnull: true
          autoincrement: false
        objet:
          type: string(1000)
          fixed: false
          unsigned: false
          primary: false
          notnull: true
          autoincrement: false
        image_c:
          type: string(500)
          fixed: false
          unsigned: false
          primary: false
          notnull: true
          autoincrement: false
        date_recep:
          type: date(25)
          fixed: false
          unsigned: false
          primary: false
          notnull: false
          autoincrement: false
        date_env:
          type: date(25)
          fixed: false
          unsigned: false
          primary: false
          notnull: false
          autoincrement: false
        owner_c:
          type: string(30)
          fixed: false
          unsigned: false
          primary: false
          notnull: true
          autoincrement: false
        user_c:
          type: string(30)
          fixed: false
          unsigned: false
          primary: false
          notnull: true
          autoincrement: false
        type_c:
          type: string(500)
          fixed: false
          unsigned: false
          primary: false
          notnull: true
          autoincrement: false
      relations :
        Users :
          class : User
          refClass : OperationC
          foreignAlias : Courriers
    Evenement:
      connection: doctrine
      tableName: evenement
      columns:
        id_event:
          type: integer(2)
          fixed: false
          unsigned: false
          primary: true
          autoincrement: true
        date:
          type: date(25)
          fixed: false
          unsigned: false
          primary: false
          notnull: true
          autoincrement: false
        action:
          type: string(2000)
          fixed: false
          unsigned: false
          primary: false
          notnull: true
          autoincrement: false
        id_contact_event:
          type: integer(2)
          fixed: false
          unsigned: false
          primary: false
          notnull: true
          autoincrement: false
      relations:
        Contact:
          local: id_contact_event
          foreign: id_contact
          type: one
    OperationC:
      connection: doctrine
      tableName: OperationC
      columns:
        id_user:
          type: integer(2)
          fixed: false
          unsigned: false
          primary: true
          autoincrement: false
        num_serie:
          type: integer(2)
          fixed: false
          unsigned: false
          primary: true
          autoincrement: false
        OperationC:
          type: string(2000)
          fixed: false
          unsigned: false
          primary: false
          notnull: true
          autoincrement: false
        date_op_c:
          type: date(25)
          fixed: false
          unsigned: false
          primary: false
          notnull: true
          autoincrement: false
      relations :
        User : { onDelete : CASCADE }
        Courrier : { onDelete : CASCADE }
    OperationContact:
      connection: doctrine
      tableName: OperationContact
      columns:
        id_contact:
          type: integer(2)
          fixed: false
          unsigned: false
          primary: true
          autoincrement: false
        id_user:
          type: integer(2)
          fixed: false
          unsigned: false
          primary: true
          autoincrement: false
        operation:
          type: string(2000)
          fixed: false
          unsigned: false
          primary: false
          notnull: true
          autoincrement: false
        date_op:
          type: date(25)
          fixed: false
          unsigned: false
          primary: false
          notnull: true
          autoincrement: false
      relations :
        User : { onDelete : CASCADE }
        Courrier : { onDelete : CASCADE }
    User:
      connection: doctrine
      tableName: user
      columns:
        id_user:
          type: integer(2)
          fixed: false
          unsigned: false
          primary: true
          autoincrement: true
        nom_user:
          type: string(30)
          fixed: false
          unsigned: false
          primary: false
          notnull: true
          autoincrement: false
        adresse_user:
          type: string(2000)
          fixed: false
          unsigned: false
          primary: false
          notnull: true
          autoincrement: false
        tel_user:
          type: string(30)
          fixed: false
          unsigned: false
          primary: false
          notnull: true
          autoincrement: false
        login:
          type: string(30)
          fixed: false
          unsigned: false
          primary: false
          notnull: true
          autoincrement: false
        password:
          type: string(30)
          fixed: false
          unsigned: false
          primary: false
          notnull: true
          autoincrement: false
    

    【讨论】:

      猜你喜欢
      • 2011-10-20
      • 2011-08-22
      • 2015-08-31
      • 1970-01-01
      • 2022-11-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多