首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JugglingDB自定义查询

JugglingDB自定义查询
EN

Stack Overflow用户
提问于 2013-08-25 14:06:27
回答 1查看 387关注 0票数 2

我试图弄清楚如何创建一个“存储库”文件(用于symfony2用户),其中我将放置所有特殊的行为查询。

我有一个简单的db shema:

  • 用户(电子邮件)
  • RelationType (姓名)
  • UserXUserXRelation (fromUser,toUser,relation)

我希望在我的用户Y上检索具有关系X的用户,因此在sql中,它如下所示:

代码语言:javascript
复制
var sql = 'SELECT u.email, u.id
FROM user u
INNER JOIN UserXUser uxu ON uxu.toUser_id = u.id
WHERE uxu.relation_id = 1 AND uxu.fromUser_id = '+id

我应该在哪里创建这个方法?我尝试了db/shema.js和app/model/user.js,但没有成功。我在这里发现Using arbitrary mySQL Query with JugglingDB?应该使用shema对象来使用“查询”,我可以在哪里和如何使用它?

回调是否如下所示:

代码语言:javascript
复制
function(err, data) {...}

在这种情况下,有关于代码分离的最佳实践吗?

附加问题:是否有一种方法将参数绑定-- PDO方式--使用jugglingdb?

谢谢大家。

EN

回答 1

Stack Overflow用户

发布于 2014-11-24 20:22:42

可以使用jugglingdb和compoundjs执行任意查询。如果您使用复合use,则只需使用compound.models.user.schema.adapter.query()即可。应该将复合对象解析为用户模型,这意味着您可以访问许多其他方法。在模型中使用此查询的方法是使用以下代码在用户模型中创建一个方法:

代码语言:javascript
复制
var sql = 'SELECT u.email, u.id
FROM user u
INNER JOIN UserXUser uxu ON uxu.toUser_id = u.id
WHERE uxu.relation_id = 1 AND uxu.fromUser_id = '+id
compound.models.user.schema.adapter.query(sql, function(err, data) {
    if(error) {
        console.log(error)
    } else {
        //Enjoy your data
    }
})

当它覆盖杂耍数据库引号转义程序时,请注意sql注入,确保您的id变量已被检查和清除。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18429825

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档