2014-10-01 21 views
1

我目前正在嘗試將cakePHP與我的MSSQL數據庫集成。我已經建立了與MSSQL的連接,目前我正在嘗試通過選擇MSSQL中某個表的所有內容來測試我的連接。然而,當我試圖運行我的查詢,這個錯誤發生:使用CakePHP預定義的表/數據庫命名時出錯

的模型登錄表tbl_tag__vehicles在數據源 默認沒有被發現。

我明白,這是說,它不能從數據庫中找到表"tbl_tag_vehicles",但我擺在我的代碼是這樣的:

變量$ NAME =「TblTag_Vehicle」;

我很奇怪,爲什麼它正在發生,因爲在數據庫中的表名稱爲「TblTag_Vehicle」,但CakePHP是做什麼的字符串,並將其其轉換爲不同的name.Is不是因爲CakePHP的命名標準?是否可以關閉轉換表名稱的任何內容?

回答

1

// Dude你不能做任何事情,如關閉名稱約定,cakephp不會在這種情況下工作。

在模型中,你應該寫

var $name = "TblTagVehicle"; 

,並給予相同的名稱模型文件LIKE TblTagVehicle.php 永遠不應該有模型的名稱中使用下劃線。

+0

看起來像我必須改變我的框架到一個不同的。我已經在使用現有的數據庫,因此重命名這些表會影響正在使用它的其他應用程序。 – marchemike 2014-10-01 05:42:57

+1

是的:) bcoz命名約定是非常imp。爲cakephp工作。 1)主鍵必須有名字'id'。 2)對於用戶表,外鍵必須具有以id爲前綴的表格的單個名稱,如'user_id'。 3)表格必須有複數名稱。如果你認爲它應該有一些大寫字母,比如'user_types' - > 4)如果有超過2個單詞,用下劃線分隔並且使最後一個單詞複數。像'user_types'這裏的類型是複數不是用戶。更多:) – 2014-10-01 05:49:09

+0

我看到,我正在考慮將數據庫導入到另一個實例並重命名錶,但數據庫很大,因此運行腳本以匹配兩個數據庫會浪費大量資源,所以我想我會看看我的應用程序的另一個框架。謝謝。 – marchemike 2014-10-01 05:53:59