Associações ManyToMany e OneToMany
Estou construindo duas entidades do Doctrine, a User e a Friends.
Só que não estou sabendo como relacionar as duas. :(
Vejamos a estrutura:
--
-- Estrutura da tabela friends
--
CREATE TABLE IF NOT EXISTS `friends` (
`user_id` int(10) NOT NULL,
`friend_id` int(10) NOT NULL,
`status` varchar(10) NOT NULL DEFAULT 'normal',
PRIMARY KEY (`user_id`,`friend_id`),
KEY `FK_FRIENDS_1` (`user_id`),
KEY `FK_FRIENDS_2` (`friend_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
ALTER TABLE `friends`
ADD CONSTRAINT `friends_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ON DELETE CASCADE,
ADD CONSTRAINT `friends_ibfk_2` FOREIGN KEY (`friend_id`) REFERENCES `user` (`id`) ON DELETE CASCADE;
--
-- RELAÇÕES PARA A TABELA friends:
-- user_id
-- user -> id
-- friend_id
-- user -> id
--
---------------------------------------
--
-- Estrutura da tabela user
--
CREATE TABLE IF NOT EXISTS `user` (
`id` int(11) NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Qual seria a relação correta: ManyToMany ou OneToMany?
Se um usuário pode ter vários amigos, então o correto no caso seria OneToMany, porém se eu pegar a entidade por completa passa a ser ManyToMany, pois vários usuários podem ter vários amigos.
Eu acho que estou confundido essas associações. :ermm:
EDIT: Lendo aqui já está parecendo que é ManyToMany. <_<
Bump :)
Discussão (1)
Carregando comentários...