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