【问题标题】:Select specific columns in adonis JS using ORM使用 ORM 在 adonis JS 中选择特定列
【发布时间】:2018-10-30 11:14:56
【问题描述】:

在 Adonis JS 中有一种方法使用

Database.select('name','email').from('users')

有没有办法使用 ORM 来实现这一点?

const User = use('App/Models/User')

//wherever required

let users = User.find(key).fetch({'name', email'})

类似于我们在 Laravel 中使用的东西。

User::find(1)->pluck('name');User::find(1)->get(['name']);

【问题讨论】:

    标签: node.js orm adonis.js


    【解决方案1】:

    模型中的静态方法find返回this

    return yield this.query().where(key, value).first()

    所以你可以编辑你的查询到这个

    yield User.query().where('id', key).select('name', 'email').first()
    

    这将与您尝试做的相同

    【讨论】:

    • 如果您使用的是 adonis 4.0 或更高版本,请使用 await
    【解决方案2】:

    Adonis 也有一些 helper methods 用于查询构建器,这些在文档中进行了描述,例如 pluck。所以要得到结果,你会得到类似的东西:

    const result = await Database.from('users')
      .where('id', 1)
      .pluck('name');
    
    return result;
    

    或者其他方法

    const result = await User.query()
      .where('id', 1)
      .pluck('name')
      .first();
    
    return result;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-29
      • 2010-09-22
      • 1970-01-01
      • 1970-01-01
      • 2016-10-02
      相关资源
      最近更新 更多