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代碼正確引用。
回答:用戶是保留字!所以只需將其更改爲用戶並解決! :\ –