আমি সিক্যুয়ালাইজ ওআরএম ব্যবহার করছি; সবকিছু দুর্দান্ত এবং পরিষ্কার, তবে আমি যখন সমস্যাগুলি নিয়ে এটি ব্যবহার করি তখন আমার একটি সমস্যা হয়েছিল join
। আমার দুটি মডেল রয়েছে: ব্যবহারকারী এবং পোস্ট।
var User = db.seq.define('User',{
username: { type: db.Sequelize.STRING},
email: { type: db.Sequelize.STRING},
password: { type: db.Sequelize.STRING},
sex : { type: db.Sequelize.INTEGER},
day_birth: { type: db.Sequelize.INTEGER},
month_birth: { type: db.Sequelize.INTEGER},
year_birth: { type: db.Sequelize.INTEGER}
});
User.sync().success(function(){
console.log("table created")
}).error(function(error){
console.log(err);
})
var Post = db.seq.define("Post",{
body: { type: db.Sequelize.TEXT },
user_id: { type: db.Sequelize.INTEGER},
likes: { type: db.Sequelize.INTEGER, defaultValue: 0 },
});
Post.sync().success(function(){
console.log("table created")
}).error(function(error){
console.log(err);
})
আমি এমন একটি ক্যোয়ারী চাই যা ব্যবহারকারীর তথ্যের সাথে একটি পোস্টের সাথে সাড়া দেয়। কাঁচা ক্যোয়ারিতে, আমি এটি পেয়েছি:
db.seq.query('SELECT * FROM posts, users WHERE posts.user_id = users.id ').success(function(rows){
res.json(rows);
});
আমার প্রশ্ন হল আমি কীভাবে এসকিউএল কোয়েরির পরিবর্তে ওআরএম স্টাইলটি ব্যবহার করতে কোডটি পরিবর্তন করতে পারি?
SELECT * FROM posts JOIN users ON users.id = posts.user_id WHERE users.year_birth = 1984