我如何在adonis中使用透明模型/查询生成器进行此查询?

蓝色

我需要进行查询,以返回一本书的所有book_unit_questions。

所以,我有Book.Id。

我正在尝试类似:

SELECT BO.id,
BUQ.description
FROM book_unit_question BUQ 
JOIN book_unit BU
ON(BUQ.book_unit_id = BU.book_id)
INNER JOIN Books BO
ON(BU.book_id = 1)

但是这种方式是从其他书籍中返回ID,因此我期望一些ID 1:

在此处输入图片说明

我的迁移文件:

class BookSchema extends Schema {
  up () {
    this.create('books', (table) => {
      table.increments()
      table.string('code').notNullable().unique()
      table.string('description')
      table.string('authors')
      table.boolean('status').defaultTo(false)
      table.integer('user_id').references('id').inTable('users')
      table.timestamps()
    })
  }

class BookUnitSchema extends Schema {
  up () {
    this.create('book_unit', (table) => {
      table.increments()
      table.integer('book_id').references('id').inTable('books').notNullable()
      table.integer('unit').notNullable()
      table.integer('sequence').notNullable()
      table.string('description')
      table.integer('qt_question')
      table.boolean('status').defaultTo(false)
      table.integer('user_id').references('id').inTable('users')
      table.timestamps()
      table.unique(['unit', 'sequence', 'book_id'])
    })
  }

class BookUnitQuestionSchema extends Schema {
  up () {
    this.create('book_unit_question', (table) => {
      table.increments()
      table.integer('book_unit_id').references('id').inTable('book_unit')
      table.string('question_form')
      table.string('option_form')
      table.string('type_answer')
      table.string('description')
      table.string('correct_answer_description')
      table.integer('correct_answer_description_id')
      table.text('image_sound')
      table.boolean('status').defaultTo(false)
      table.integer('user_id').references('id').inTable('users')
      table.timestamps()
    })
  }
碎屑

编辑:此版本不使用manyThrough()

控制器:

    const BookUnit = use('App/Models/BookUnit')
    const Question = use('App/Models/BookUnitQuestion')

    const bIds = await BookUnit.query().where('book_id', 1).ids() //Get all bookUnit ids

    const questions = await Question.query().whereIn('book_unit_id', bIds).fetch()

    return questions

分页:

const questions = await Question.query().whereIn('book_unit_id', bIds).paginate(2, 2)

迁移文件:

this.create('books', (table) => {
      table.increments()
      table.string('code').notNullable()
      table.string('description').notNullable()
      table.timestamps()
})

this.create('book_units', (table) => {
      table.increments()
      table.integer('book_id').unsigned().references('id').inTable('books')
      table.integer('unit')
      table.timestamps()
})

this.create('book_unit_questions', (table) => {
      table.increments()
      table.integer('book_unit_id').unsigned().references('id').inTable('book_units')
      table.integer('description')
      table.timestamps()
})

如有任何疑问,请不要犹豫

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Laravel:如何使用查询生成器添加where子句?

来自分类Dev

Laravel:如何使用查询生成器添加where子句?

来自分类Dev

Laravel在查询生成器中使用UNION

来自分类Dev

如何在SQLAlchemy中使用case语句进行此查询?

来自分类Dev

在laravel 4.1查询生成器中使用变量

来自分类Dev

如何在Laravel中使用口才查询生成器获取最后这么多的条目(跳过)

来自分类Dev

如何在Laravel中通过查询生成器使用模型事件

来自分类Dev

在Fuelphp查询生成器中使用“()”

来自分类Dev

如何在Laravel雄辩的关系中使用查询生成器或原始SQL

来自分类Dev

教义-使用查询生成器时如何对集合进行合并

来自分类Dev

如何在CakePHP 3.x的查询生成器中使用哈希值?

来自分类Dev

在学问查询生成器中使用条件语句?

来自分类Dev

如何在Laravel中使用Remember()方法使用查询生成器缓存查询?

来自分类Dev

如何在Laravel的查询生成器中使用命名绑定?

来自分类Dev

如何使用查询生成器的updateOrInsert方法?

来自分类Dev

如何使用codeigniter查询生成器编写“ ORDER BY NULL”

来自分类Dev

如何使用查询生成器在Laravel中使用关系查询我的模型

来自分类Dev

如何在tf.data.Dataset生成器中使用tf.keras模型?

来自分类Dev

如何在phpMyAdmin中使用查询视觉生成器

来自分类Dev

如何在Laravel 8的查询生成器中使用嵌套函数substr(),cast()和Max()?

来自分类Dev

如何扩展laravels查询生成器?

来自分类Dev

如何在Laravel雄辩的关系中使用查询生成器或原始SQL

来自分类Dev

如何在CakePHP 3.x的查询生成器中使用哈希值?

来自分类Dev

如何在查询生成器中使用unix_timestamp

来自分类Dev

在查询中使用别名的查询生成器

来自分类Dev

如何在查询生成器中设置条件?

来自分类Dev

如果使用Postgre,如何在laravel的查询生成器中使用** distinct on()**?

来自分类Dev

在 Laravel 中使用查询生成器进行外键查询?

来自分类Dev

在 CodeIgniter 查询生成器中使用子查询编写查询?

Related 相关文章

  1. 1

    Laravel:如何使用查询生成器添加where子句?

  2. 2

    Laravel:如何使用查询生成器添加where子句?

  3. 3

    Laravel在查询生成器中使用UNION

  4. 4

    如何在SQLAlchemy中使用case语句进行此查询?

  5. 5

    在laravel 4.1查询生成器中使用变量

  6. 6

    如何在Laravel中使用口才查询生成器获取最后这么多的条目(跳过)

  7. 7

    如何在Laravel中通过查询生成器使用模型事件

  8. 8

    在Fuelphp查询生成器中使用“()”

  9. 9

    如何在Laravel雄辩的关系中使用查询生成器或原始SQL

  10. 10

    教义-使用查询生成器时如何对集合进行合并

  11. 11

    如何在CakePHP 3.x的查询生成器中使用哈希值?

  12. 12

    在学问查询生成器中使用条件语句?

  13. 13

    如何在Laravel中使用Remember()方法使用查询生成器缓存查询?

  14. 14

    如何在Laravel的查询生成器中使用命名绑定?

  15. 15

    如何使用查询生成器的updateOrInsert方法?

  16. 16

    如何使用codeigniter查询生成器编写“ ORDER BY NULL”

  17. 17

    如何使用查询生成器在Laravel中使用关系查询我的模型

  18. 18

    如何在tf.data.Dataset生成器中使用tf.keras模型?

  19. 19

    如何在phpMyAdmin中使用查询视觉生成器

  20. 20

    如何在Laravel 8的查询生成器中使用嵌套函数substr(),cast()和Max()?

  21. 21

    如何扩展laravels查询生成器?

  22. 22

    如何在Laravel雄辩的关系中使用查询生成器或原始SQL

  23. 23

    如何在CakePHP 3.x的查询生成器中使用哈希值?

  24. 24

    如何在查询生成器中使用unix_timestamp

  25. 25

    在查询中使用别名的查询生成器

  26. 26

    如何在查询生成器中设置条件?

  27. 27

    如果使用Postgre,如何在laravel的查询生成器中使用** distinct on()**?

  28. 28

    在 Laravel 中使用查询生成器进行外键查询?

  29. 29

    在 CodeIgniter 查询生成器中使用子查询编写查询?

热门标签

归档