使用 ORM 在 adonis JS 中选择特定列
Posted
技术标签:
【中文标题】使用 ORM 在 adonis JS 中选择特定列【英文标题】:Select specific columns in adonis JS using ORM 【发布时间】: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']);
【问题讨论】:
【参考方案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;
【讨论】:
以上是关于使用 ORM 在 adonis JS 中选择特定列的主要内容,如果未能解决你的问题,请参考以下文章