寫給鳥本身的,你們若是不慎百度到這裏來了,真好也在作這塊功能,不懂的能夠聯繫鳥。微信:jkxx123321mysql
const Sequelize = require('sequelize'); const sequelize = new Sequelize('api', 'root','',{ dialect:'mysql', }); //用戶和關注者 //一個用戶能夠有多個關注者 //一個關注者能夠關注多個用戶 //我 -- 關注個人人,我關注的人 const User = sequelize.define('user',{ name:Sequelize.STRING, }); //follower關注個人人 User.belongsToMany(User,{ as:'Follower', through:'friendship', foreignKey:'followerId' }); //我關注的人 User.belongsToMany(User,{ as:'Followed', through:'friendship', foreignKey:'followedId' }); sequelize.sync(); // User.create({ // name:'AAA', // }) // User.create({ // name:'BBB', // }) // User.create({ // name:'CCC', // }) // User.create({ // name:'DDD', // }) //我關注一我的 function ttt2(myId,userId){ Promise.all([ User.findById(myId), User.findById(userId), ]) .then((resules)=>{ const me = resules[0]; const followed = resules[1]; return me.addFollowed(followed); }) .then((resule)=>{ console.log('關注成功'); }) .catch((error)=>{ console.log(error); }) } //AAA,關注BB,關注CCC // ttt2(1,2); // ttt2(1,3); //經過一我的,獲取他所關注的人 function getFollowed(userId){ User.findById(userId) .then((user)=>{ return user.getFollowed(); }) .then((followeds)=>{ console.log(JSON.stringify(followeds)); }) } //經過一我的,獲取全部關注他的人 function getFollower(userId){ User.findById(userId) .then((user)=>{ return user.getFollower(); }) .then((followers)=>{ console.log(JSON.stringify(followers)); }) } //????? //經過一我的,獲取互粉的好友列表 //AAA,關注BBB,關注CCC //getFollowed(1); getFollower(2); //工人和任務 //一個工人能夠同時作多個任務 //一個任務能夠由多個工人來完成 /* const Worker = sequelize.define('worker',{ name:Sequelize.STRING, }); const Task = sequelize.define('task',{ title:Sequelize.STRING, }); Worker.belongsToMany(Task,{through:'WorkerTask'}); Task.belongsToMany(Worker,{through:'WorkerTask'}); //經過設置關係以後,會對實體添加以下方法 //getXXXs setXXXs addXXX addXXXs sequelize.sync(); //將任務分配給工人 function ttt1(taskId,workerId) { Promise.all([ Worker.findById(workerId), Task.findById(taskId), ]) .then((resules)=>{ const worker = resules[0]; const task = resules[1]; //return worker.addTask(task); return task.setWorkers([worker]); }) .then((result)=>{ console.log('添加成功'); }) .catch((error)=>{ console.log('錯誤'); }) } ttt1(1,3); // ttt1(2,1); //ttt1(1,2); //經過工人,查所屬的任務 function findTasksByWorker(workerId){ Worker.findById(workerId) .then((worker)=>{ return worker.getTasks(); }) .then((tasks)=>{ console.log(JSON.stringify(tasks)); }) } //findTasksByWorker(1); //經過任務,查所屬的工人 function findWorkersByTask(taskId){ Task.findById(taskId) .then((task)=>{ return task.getWorkers(); }) .then((workers)=>{ console.log(JSON.stringify(workers)); }) } //findWorkersByTask(2); // Worker.create({ // name:'張三', // }); // Worker.create({ // name:'李四', // }); // Worker.create({ // name:'王五', // }); // // Task.create({ // title:'任務1', // }); // Task.create({ // title:'任務2', // }); // Task.create({ // title:'任務3', // }); // Task.create({ // title:'任務4', // }); // Task.create({ // title:'任務5', // }); // Task.create({ // title:'任務6', // }); */
做者介紹:半路學IT,作開發3年,先就任在一家共享單車公司,作後臺開發!sql
我開了一個公衆號,歡迎各位有志同道合朋友,關注!不按期分享幹活,和我得故事!api