Tôi đang đùa giỡn với Zend Framework và cố gắng sử dụng hướng dẫn "QuickStart" trên trang web mà tôi đang thực hiện để xem quy trình hoạt động như thế nào. Tha thứ cho tôi nếu câu trả lời này là hiển nhiên, hy vọng ai đó có kinh nghiệm có thể làm sáng tỏ điều này.Lập mô hình đối tượng có nhiều mối quan hệ bảng trong Zend Framework
Tôi có ba bảng cơ sở dữ liệu:
CREATE TABLE `users` (
`id` int(11) NOT NULL auto_increment,
`email` varchar(255) NOT NULL,
`username` varchar(255) NOT NULL default '',
`first` varchar(128) NOT NULL default '',
`last` varchar(128) NOT NULL default '',
`gender` enum('M','F') default NULL,
`birthyear` year(4) default NULL,
`postal` varchar(16) default NULL,
`auth_method` enum('Default','OpenID','Facebook','Disabled') NOT NULL default 'Default',
PRIMARY KEY (`id`),
UNIQUE KEY `email` (`email`),
UNIQUE KEY `username` (`username`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
CREATE TABLE `user_password` (
`user_id` int(11) NOT NULL,
`password` varchar(16) NOT NULL default '',
PRIMARY KEY (`user_id`),
UNIQUE KEY `user_id` (`user_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
CREATE TABLE `user_metadata` (
`user_id` int(11) NOT NULL default '0',
`signup_date` datetime default NULL,
`signup_ip` varchar(15) default NULL,
`last_login_date` datetime default NULL,
`last_login_ip` varchar(15) default NULL,
PRIMARY KEY (`user_id`),
UNIQUE KEY `user_id` (`user_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
Tôi muốn tạo ra một mô hình người dùng mà sử dụng tất cả ba bảng trong các tình huống nhất định. Ví dụ: bảng siêu dữ liệu được truy cập nếu/khi dữ liệu meta là cần thiết. Bảng user_password chỉ được truy cập nếu đặt 'Default' auth_method. Tôi có thể sẽ thêm một bảng hồ sơ sau này mà tôi muốn có thể truy cập từ mô hình người dùng.
Cách tốt nhất để làm điều này với ZF là gì và tại sao?
Rất không rõ ràng về lý do tại sao điều này bị bỏ phiếu: có vấn đề gì với câu hỏi này không? Tôi không thể tìm thấy một câu hỏi tương tự giải thích điều này trong chi tiết tôi đang tìm kiếm. Hãy cho tôi biết nếu tôi có thể rõ ràng hơn. –
Dunno, dư thừa dữ liệu có lẽ? Bạn có thể thay thế tất cả câu lệnh SQL đó bằng mô tả ngắn gọn về các bảng. – vartec
Dường như một người nào đó đã downvoted tất cả các câu hỏi mới – vartec