2013-05-28 73 views
2

我得到這個錯誤:當我試圖執行這個查詢學說對更新查詢失敗

500 | Internal Server Error | Doctrine_Connection_Mysql_Exception SQLSTATE[42S22]: Column not found: 1054 Unknown column 'domain_name' in 'where clause'

public function updateDomain($domain_name, $expiration_date, $authcode) 
{ 
    $q = Doctrine_Query::create() 
     ->update('domain d') 
     ->set('d.domain_name', '?', $domain_name) 
     ->set('d.expiration_date', '?', $expiration_date) 
     ->set('d.authcode', '?', $authcode) 
     ->where('d.domain_name = ?', $domain_name) 
     ->execute(); 
} 

這裏是我的數據庫的示意圖:

id | client_id | registar_id | domain_name | expiration_date | authcode ....

主鍵是id

client_idregistar_id是外鍵。

更多,當我執行我的數據庫通過主義產生的查詢,它工作正常...

+0

可能相關:http://stackoverflow.com/questions/3262223/doctrine-column-not-found-1054-unknown-column-s-features-in-field-list(希望一些答案可能會對你有所幫助) –

+0

沒有答案幫我... – DOZ

+0

跑步'php symfony doctrine:build --all-classes' – j0k

回答

2

我已經找到了問題:

update('Domain d') 

表名的第一個字母必須是在大寫字母....

+0

+1好,你跟進了。這可能會在未來幫助其他人 –

+1

因爲它不是表名,而是模型類的名稱。 –