我剛剛開始使用CakePHP,所以我是一個在這個框架中工作的完全新手,並且採用了一個具有非常糟糕的數據庫結構的遺留系統。我進去並添加了沒有它們的表的主鍵。但是,我無法找到有關在模型中映射列的位置的信息,並且可以使用一些鏈接,以便在此區域中定位。我從他們的用戶表開始,它已被命名爲「系統」。我創建了一個模型叫用戶:cakephp列映射
class User extends AppModel {
var $name = 'User';
var $useTable = 'system';
}
我想要的列,這更符合不改變現有的數據庫公約一致,因爲他們目前正在使用該表格屬性名稱映射。表結構是:
Table: system
Field Name DataType Nullable Default
------------------------------------------------------------------
user_id tinyint(4) No None AUTO_INCREMENT
s_rec_type tinyint(4) Yes NULL
s_user_id varchar(20) Yes NULL
s_init char(2) Yes NULL
s_password varchar(12) Yes NULL
admin_access tinyint(4) No 0
fname varchar(50) No
lname varchar(50) No
email_address varchar(50) Yes NULL
created datetime Yes NULL
modified datetime Yes NULL
// I added email_address, created, and modified.
我想在模型中的列如下圖:
user_id -> Id
s_rec_type -> UserType
s_user_id -> UserName
s_init -> Initials
s_password -> Password
admin_access -> AdminAccess
fname -> FirstName
lname -> LastName
email_address -> EmailAddress
created -> Created
modified -> Modified
,這樣我可以使用像$這個 - >用戶 - > findAllById方法($ ID )或$ this-> User-> findByInitials('sb')或者通過$ this-> User-> id訪問該id,而不是像$ this-> User-> user_id之類的東西,並且與使用代碼的命名約定更加一致更容易理解。
該表格還將用於確定用戶有權訪問哪些菜單選項以及用戶可以訪問哪些頁面。我會在稍後處理。
瞭解CakePHP的約定一些,表格應始終強調沒有駝峯,你有..姓氏,沒有名字 – dogmatic69 2011-01-26 07:08:32