使用ORM选择adonis JS中的特定列

时间:2018-10-30 11:14:57

标签: node.js orm adonis.js

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']);

2 个答案:

答案 0 :(得分:0)

模型中的静态方法查找返回此值

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

因此您可以将查询编辑为此

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

您将尝试做的事

答案 1 :(得分:0)

Adonis也有一些helper methods用于查询生成器,这些文档在struct Languages { var language: String = "" var brand: [String] = [] init(lang: String, code: [String]) { language = lang brand = code } } let source : [Languages] = [Languages(lang: "English", code: [ "US", "UK" ]), Languages(lang: "Spanish", code: [ "ES" ]), Languages(lang: "German", code: [ "DE" ])] let result = source.filter( { $0.brand.contains("UK")}) print(result) // Languages(language: "English", brand: ["US", "UK"]) 之类的文档中都有介绍。因此,要获得结果,您将需要:

pluck

或其他方法

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

return result;