Express淺談



 


寫給鳥本身的,你們若是不慎百度到這裏來了,真好也在作這塊功能,不懂的能夠聯繫鳥。微信: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

相關文章
相關標籤/搜索