Ich spiele mit Zend Framework und versuche, den "QuickStart" Guide gegen eine Website zu verwenden, die ich mache, nur um zu sehen, wie der Prozess funktionieren würde. Verzeih mir, wenn diese Antwort offensichtlich ist, kann hoffentlich jemand, der etwas erlebt hat, etwas Licht in diese Sache bringen.Modellieren von Objekten mit mehreren Tabellenbeziehungen in Zend Framework
Ich habe drei Datenbanktabellen:
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
Ich möchte ein User-Modell erstellen, die alle drei Tabellen in bestimmten Situationen verwendet. Z. B. wird auf die Metadatentabelle zugegriffen, wenn/wenn die Metadaten benötigt werden. Auf die Tabelle user_password wird nur zugegriffen, wenn die 'auth_method'-Standardeinstellung festgelegt ist. Ich werde wahrscheinlich später eine Profiltabelle hinzufügen, auf die ich vom Benutzermodell aus zugreifen möchte.
Was ist der beste Weg, dies mit ZF zu tun und warum?
Sehr unklar, warum dies abgelehnt wird: Gibt es ein Problem mit dieser Frage? Ich konnte keine ähnliche Frage finden, die das in dem Detail erklärt, nach dem ich suche. Lass es mich wissen, wenn ich klarer sein kann. –
Keine Ahnung, vielleicht Datenüberschuss? Sie könnten das gesamte SQL durch eine kurze Beschreibung der Tabellen ersetzen. – vartec
Scheint, dass jemand alle neuen Fragen abgelehnt hat – vartec