1

我想在我的查询中选择一些属性。

这是我在控制器中的代码

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

class CategoryController {

    async getCategories({request,response}) {
        try {
            let categories = await Category
                .query()
                .select('id','name')
                .with('imageables')
                .fetch()
            
            return response.json({"Categories": categories})
        } catch (error) {
            throw error
        }
    }
}

module.exports = CategoryController

这是 在 imageables 属性中查询的结果,我只想要图像属性。

"Categories": [
    {
      "id": 1,
      "name": " tree"
      "imageables": [
          {
              "id": 1,
              "image": "tree.png",
              "type": "logo",
              "imageable_id": 1,
              "imageable_type": "categories"
          }
      ]
  },
  ...
]

这是我希望查询后的表单数据。

"Categories": [
    {
      "id": 1,
      "name": " tree"
      "image": "tree.png"
  },
  ...
]
4

1 回答 1

0

有点晚了,但我找到了解决这个问题的方法:https ://github.com/adonisjs/lucid/issues/508

.with('imageables', builder => {
  builder.select('image'); //  select columns / pass array of columns
})
于 2021-05-09T20:13:54.337 回答