小编Xal*_*sar的帖子

如何在 Prisma 中指定可选查询过滤器?

我正在使用 React、Apollo 和 Prsima 构建一个应用程序,允许用户按型号、品牌、价格过滤汽车......我知道(例如)如何按品牌过滤汽车:

const GET_CARS = gql`
  query FilterCars($brandId: ID){
    cars(where: {   
        model : { brand: { id: $brandId } }
    }) {
        id
        model {
            name
            brand {
             name
            }
            horses
        }
        year
        km
        price
        ...
  }
`;

Run Code Online (Sandbox Code Playgroud)

并在组件中:

const CarList = (props) => {
    const { data, loading, error } = useQuery(GET_CARS, {
        variables: {
            brandId: "exampleBrandId"
        }
    })

    ...
}
Run Code Online (Sandbox Code Playgroud)

问题是,有些参数是可选的:也许用户不关心品牌、型号、价格……那么所有汽车都应该出现:如果没有选择品牌,则应该出现所有品牌的汽车;如果未选择价格,则应出现所有价格的汽车...

我怎样才能做到这一点?就像是:

query FilterCars($brandId: ID){
    cars(where: {   
        model : { brand: { id: $brandId || …
Run Code Online (Sandbox Code Playgroud)

apollo reactjs graphql prisma

3
推荐指数
2
解决办法
9328
查看次数

标签 统计

apollo ×1

graphql ×1

prisma ×1

reactjs ×1