Выберите конкретные столбцы в Adonis JS, используя ORM - PullRequest
0 голосов
/ 30 октября 2018

В 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 голосов
/ 27 декабря 2018

Adonis также имеет несколько вспомогательных методов для построителя запросов, которые описаны в документации, например, 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;
0 голосов
/ 30 октября 2018

Статический метод find в модели возвращает это

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

так что вы можете отредактировать ваш запрос к этому

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

Это будет то же самое, что вы пытаетесь сделать

...