2014-03-01 26 views
0

這是它使用推動爲用戶提供我的登錄表單,我得到這個錯誤,我可以理解,該標識符中沒有報價:symfony2 propel-bundle + postgres:「。」附近的語法錯誤。

和錯誤:

Unable to execute SELECT statement [SELECT user.id, user.username, user.password, user.email, user.type, user.first_name, user.last_name, user.national_code, user.personal_code, user.role, user.card, user.university_id, user.salt, user.active, user.created_at, user.updated_at FROM user WHERE user.username=:p1 LIMIT 1] [wrapped: SQLSTATE[42601]: Syntax error: 7 ERROR: syntax error at or near "." LINE 1: SELECT user.id, user.username, user.password, user.email, us... ^] 

我行走的配置:

propel: 
    path:   "%kernel.root_dir%/../vendor/propel" 
    phing_path:  "%kernel.root_dir%/../vendor/phing" 
    logging:  %kernel.debug% 
    dbal: 
     default_connection: default 
     connections: 
      default: 
       driver:  %database_driver% 
       user:  %database_user% 
       password: %database_password% 
       dsn:  %database_driver%:host=%database_host%;dbname=%database_name% 
       options: 
        ATTR_PERSISTENT: false 
       attributes: 
        ATTR_EMULATE_PREPARES: true 
       settings: 
        charset: { value: UTF8 } 
    build_properties: 
     propel.database: %database_driver% 
     propel.database.url: ${propel.dsn} 
     propel.database.buildUrl: ${propel.database.url} 
     propel.database.createUrl: ${propel.database.buildUrl} 
     propel.database.user: %database_user% 
     propel.database.password: %database_password% 
     propel.platform.class: platform.${propel.database}Platform 
     propel.disableIdentifierQuoting: false 

,也是我的供應商的配置:

providers: 
    main: 
     propel: 
      class:    National\PublicationBundle\Model\User 
      property:   username 

我的配置有問題嗎?我還發現this在GitHub上,並相應地改變了我的代碼,但它確實改變了什麼,我做了什麼:

\$sql = sprintf(
'$query', 
    implode(', ', array_map(function(\$e) { return '\"'.\$e.'\"' ; }, \$modifiedColumns)), 
    implode(', ', array_keys(\$modifiedColumns)) 

);

還有一件事:當我生成的SQL與PHP應用程序/控制檯propel:構建:SQL,SQL代碼正確引用。

+0

回答:用戶是保留字!所以只需將其更改爲用戶並解決! :\ –

回答

0

回答:用戶是保留字!所以只需將其更改爲用戶並解決! :\