Je suis en train de jouer avec Zend Framework et j'essaie d'utiliser le guide "QuickStart" sur un site Web que je réalise juste pour voir comment le processus fonctionnerait. Pardonnez-moi si cette réponse est évidente, j'espère que quelqu'un d'expérimenté pourra nous éclairer là-dessus.Modélisation d'objets avec plusieurs relations de tables dans Zend Framework
J'ai trois tables de base de données:
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
Je veux créer un modèle utilisateur qui utilise les trois tables dans certaines situations. Par exemple, la table de métadonnées est accessible si/quand les méta-données sont nécessaires. La table user_password n'est accessible que si la méthode auth_method 'Default' est définie. J'ajouterai probablement un tableau de profil plus tard auquel j'aimerais pouvoir accéder depuis le modèle utilisateur.
Quelle est la meilleure façon de le faire avec ZF et pourquoi?
On ne sait pas très bien pourquoi cette question a été rejetée: y a-t-il un problème avec cette question? Je ne pouvais pas trouver une question similaire qui explique cela dans le détail que je cherche. Faites-moi savoir si je peux être plus clair. –
Dunno, l'excès de données peut-être? Vous pouvez remplacer tout ce SQL avec une brève description des tables. – vartec
Il semble que quelqu'un ait annulé toutes les nouvelles questions – vartec