国产精品成人VA在线观看,亚洲日韩在线中文字幕综合,亚洲AV电影天堂男人的天堂,久久人人爽人人爽人人av东京热

News新聞

業(yè)界新聞動(dòng)態(tài)、技術(shù)前沿
Who are we?

您的位置:首頁(yè)      樂道系統(tǒng)FAQ      PHP laravel中的多對(duì)多關(guān)系實(shí)例詳解

PHP laravel中的多對(duì)多關(guān)系實(shí)例詳解

標(biāo)簽: 發(fā)布日期:2017-06-07 00:00:00 242

數(shù)據(jù)表之間是縱橫交叉、相互關(guān)聯(lián)的,laravel的一對(duì)一,一對(duì)多比較好理解,官網(wǎng)介紹滴很詳細(xì)了,在此我就不贅述啦,重點(diǎn)我記下多對(duì)多的關(guān)系

一種常見的關(guān)聯(lián)關(guān)系是多對(duì)多,即表A的某條記錄通過(guò)中間表C與表B的多條記錄關(guān)聯(lián),反之亦然。比如一個(gè)用戶有多種角色,反之一個(gè)角色對(duì)應(yīng)多個(gè)用戶。

為了測(cè)試該關(guān)聯(lián)關(guān)系,我們沿用官網(wǎng)的用戶角色示例:

需要三張數(shù)據(jù)表:users、roles 和 role_user,role_user 表按照關(guān)聯(lián)模型名的字母順序命名(這里role_user是中間表),并且包含 user_id 和 role_id兩個(gè)列。

多對(duì)多關(guān)聯(lián)通過(guò)編寫返回 belongsToMany 方法返回結(jié)果的方法來(lái)定義。廢話不說(shuō)多,直接上數(shù)據(jù)結(jié)構(gòu):

1:創(chuàng)建一個(gè)角色表roles,并添加一些初始化數(shù)據(jù):

SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for users
-- ----------------------------
DROP TABLE IF EXISTS `users`;
CREATE TABLE `users` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`email` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`password` varchar(60) COLLATE utf8_unicode_ci NOT NULL,
`remember_token` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL,
`created_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
`updated_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY (`id`),
UNIQUE KEY `users_email_unique` (`email`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
-- ----------------------------
-- Records of users
-- ----------------------------
INSERT INTO `users` VALUES ('1', 'admin', 'admin@163.com', '$2y$10$J/yXqscucanrHAGZp9G6..Tu1Md.SOljX3M8WrHsUdrgat4zeSuhC', 'ilocXtjZJwhrmIdLG1cKOYegeCwQCkuyx1pYAOLuzY2PpScQFT5Ss7lBCi7i', '2016-04-21 16:26:23', '2016-12-14 09:29:59');
INSERT INTO `users` VALUES ('2', 'baidu', '10940370@qq.com', '$2y$10$2A5zJ4pnJ5uCp1DN3NX.5uj/Ap7P6O4nP2BaA55aFra8/rti1K6I2', null, '2016-04-22 06:48:10', '2016-04-22 06:48:10');
INSERT INTO `users` VALUES ('3', 'fantasy', '1009@qq.com', '', null, '2017-06-14 10:38:57', '2017-06-15 10:39:01');