Я только начал работать с CakePHP, поэтому я новичок в работе с этой платформой и взял унаследованную систему с довольно ужасной структурой базы данных.Я вошел и добавил первичные ключи к таблицам, у которых их не было.Тем не менее, я не могу найти информацию о том, где сопоставить столбцы в модели, и мог бы использовать некоторые ссылки, чтобы я мог ориентироваться в этой области.Я начинаю с их пользовательской таблицы, которая была названа "система".Я создал модель с именем User:
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
, чтобы я мог использовать такие методы, как $ this-> User->findAllById ($ id) или $ this-> User-> findByInitials ('sb') или используйте идентификатор $ this-> User-> id вместо чего-то вроде $ this-> User-> user_id и более согласованно с именамисоглашения с кодом, который легче понять.
Эта таблица будет также использоваться для определения того, к каким пунктам меню пользователи имеют доступ и к каким страницам пользователь может получить доступ.Я разберусь с этим позже.