Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用TypeOrmQueryBuilder从数据库中过滤数据来创建查询?_Javascript_Node.js_Typescript_Nestjs_Typeorm - Fatal编程技术网

Javascript 如何使用TypeOrmQueryBuilder从数据库中过滤数据来创建查询?

Javascript 如何使用TypeOrmQueryBuilder从数据库中过滤数据来创建查询?,javascript,node.js,typescript,nestjs,typeorm,Javascript,Node.js,Typescript,Nestjs,Typeorm,我刚刚开始使用typeorm,我正在使用nodejs/nestjs,我正在尝试创建一个查询,其中数据库中的数据是课程,可以按讲师的名字和姓氏进行过滤,按课程名称进行过滤,按科目过滤课程。我试着使用“where”和“orWhere”,但似乎无法总结,任何人都可以给出更好的实现建议吗?非常感谢。非常感谢 下面的查询正在运行,我遇到了“where”条件的问题 代码 数据库中的示例数据 看起来不错。只需使用andWhere添加其他条件即可,看起来不错。只需使用andWhere添加其他条件对于我的Type

我刚刚开始使用typeorm,我正在使用nodejs/nestjs,我正在尝试创建一个查询,其中数据库中的数据是课程,可以按讲师的名字和姓氏进行过滤,按课程名称进行过滤,按科目过滤课程。我试着使用“where”和“orWhere”,但似乎无法总结,任何人都可以给出更好的实现建议吗?非常感谢。非常感谢

下面的查询正在运行,我遇到了“where”条件的问题

代码 数据库中的示例数据
看起来不错。只需使用andWhere添加其他条件即可,看起来不错。只需使用andWhere添加其他条件

对于我的Typeorm项目,我更喜欢使用Find选项Object(),因为从对象生成请求更容易,但您无法进行一些高级联接(但在您的情况下,它完全可以)


它们不是更好的实现,只是多个解决方案。

对于我的Typeorm项目,我更喜欢使用查找选项Object(),因为从对象生成请求更容易,但您无法执行一些高级联接(但在您的情况下,这完全可以)

它们不是更好的实现,而是多种解决方案

async findAll(options: IPaginationOptions, query): Promise<Pagination<CourseEntity>> {
    console.log('query :', query);
    const courses = await getRepository(CourseEntity)
      .createQueryBuilder('course')
      .leftJoinAndSelect('course.user', 'user')
      .leftJoinAndSelect('course.subject', 'subject')
      // eslint-disable-next-line @typescript-eslint/camelcase
      .where('course.course_name = :course_name', { course_name: query.course_name });

    return paginate<CourseEntity>(courses, options);
  }
query : { limit: '10', firstname: 'mark', lastname: 'gunn' , course_name: 'Comscie'}
 {
            "id": 4,
            "course_name": "BS-IT",
            "description": "BS-IT DBMS",
            "created": "2020-03-19T16:40:46.000Z",
            "updated": "2020-03-19T16:40:46.000Z",
            "user": {
                "id": 20,
                "firstname": "Mark",
                "lastname": "Gunn",
                "role": "Instructor",
                "email": "mark@gmail.com",
                "isActive": false,
                "created": "2020-03-19T16:06:21.000Z",
                "updated": "2020-03-19T16:06:34.000Z"
            },
            "subject": {
                "id": 2,
                "subject_name": "IT 100",
                "description": "Fundamandetals",
                "created": "2020-03-18T03:58:34.000Z",
                "updated": "2020-03-18T03:58:34.000Z"
            }
        }