使用

通过在模型定义上调用 .scope 来应用作用域,传递一个或多个作用域的名称. .scope 返回一个全功能的模型实例,它具有所有常规的方法:.findAll,.update,.count,.destroy等等.你可以保存这个模型实例并稍后再次使用:

  1. const DeletedProjects = Project.scope('deleted');
  2. DeletedProjects.findAll();
  3. // 过一段时间
  4. // 让我们再次寻找被删除的项目!
  5. DeletedProjects.findAll();

作用域适用于 .find, .findAll, .count, .update, .increment.destroy.

可以通过两种方式调用作为函数的作用域. 如果作用域没有任何参数,它可以正常调用. 如果作用域采用参数,则传递一个对象:

  1. Project.scope('random', { method: ['accessLevel', 19]}).findAll();
  1. SELECT * FROM projects WHERE someNumber = 42 AND accessLevel >= 19