标签:一个用户 turn console 自己 联系 fine sync getx name
写给鸟自己的,大家如果不慎百度到这里来了,真好也在做这块功能,不懂的可以联系鸟。微信:jkxx123321
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‘, // }); */
标签:一个用户 turn console 自己 联系 fine sync getx name
原文地址:http://www.cnblogs.com/gdsblog/p/7435009.html