node.js - 我如何向所有类(class)表明学生没有留在阿多尼斯?

标签 node.js adonis.js

我有三个表:

学生

id INT
名称 VARCHAR

类别

id INT
描述 VARCHAR

学生类(class)

id INT
Student_id(students.id 的外键)
class_id(class.id 的外键)

我如何返回不在student_classes中的学生的所有类(class)? 我在 request.params.student_id 中收到 student_id,我尝试如下操作:

async getAvailableClassesOfAStudent({ request }){
  const classes = await Database
    .query()
    .select('class.*')
    .from('class')
    .leftJoin('student_classes', 'class.id', 'student_classes.class_id')
    .whereNotIn('student_classes.student_id', request.params.student_id) 

  return classes 
}

我得到:

select "class".* from "class" left join "student_classes" on "class"."id" = "student_classes"."class_id" where "student_classes"."student_id" not in $1 - syntax error at or near "$1"

最佳答案

我认为这可能对您有帮助:How to select all records from one table that do not exist in another table?

类似于:

...

const classes = await Database
    .query()
    .select('class.*')
    .from('class')
    .leftJoin('student_classes', 'class.id', 'student_classes.class_id')
    .whereNull('student_classes.student_id') 

...

关于node.js - 我如何向所有类(class)表明学生没有留在阿多尼斯?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59396685/

相关文章:

node.js - 如何在 Mongoose 模式中使用项目的值

node.js - 为什么我收到错误 "Identifier ... has already been declared"?

javascript - `npm install` 未安装本地包子依赖项

node.js - 使用 Serverless 正确实现 babel

node.js - 我如何使用 adonis 中的清晰模型/查询生成器进行此查询?

javascript - Adonis.js RESTFUL API 解决方法

node.js - 如何在 adonis5 中创建路径和查询验证

javascript - 间接调用函数时成员未定义

javascript - 如何从使用 Adonis Controller 的路由在 Vue 组件中发出 axios 请求

authentication - JWT token 未保存在数据库中