извиняюсь за все вопросы Doctrine 2, но я действительно пытался вникнуть в это и у меня были некоторые проблемы. Я пытаюсь настроить ACL, поэтому в этом случае у меня есть 3 таблицы, users / user_perms / permissions. SQL для создания таблиц БД выглядит следующим образом:
CREATE TABLE `users` (`ID` int(10) unsigned zerofill NOT NULL auto_increment,`username` varchar(20) NOT NULL,PRIMARY KEY (`ID`),KEY `Username` (`username`)) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE `user_perms` (`ID` bigint(20) unsigned zerofill NOT NULL auto_increment,`userID` bigint(20) NOT NULL, `permID` bigint(20) NOT NULL,`value` tinyint(1) NOT NULL default '0', `addDate` datetime NOT NULL, PRIMARY KEY (`ID`), UNIQUE KEY `userID` (`userID`,`permID`)) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE `permissions` (`ID` bigint(20) unsigned zerofill NOT NULL auto_increment,`permKey` varchar(30) NOT NULL,`permName` varchar(30) NOT NULL, PRIMARY KEY (`ID`),UNIQUE KEY `permKey` (`permKey`)) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Как вы можете видеть, user_perms действует как таблица соединения между пользователями и доступными разрешениями, но также содержит поле «значение», которое является значением разрешения / запрета для этого конкретного разрешения. Я понимаю, как выполнить стандартные двунаправленные отношения «многие ко многим», но как я смогу захватить поле значения user_perms
? Цените вашу помощь с этим, ребята !!