How to query with Prisma multiple inner joins?

Viewed 1061

I am trying to query with multiple joins, but what happens is if I add conditions to the where I get the prisma version as response. For example the following query works

const products = await prisma.products.findMany({
  where: {
    is_enable: true,
    is_deleted: false,
  },
  include: {
    items: {
      where: {
        is_deleted: false
      },
      include: {
        parts: {
          include: {
            subvehicles: {
              include: {
                vehicles: {
                  include: {
                    manufacturers: true
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  skip: replacements.offset,
  take: replacements.limit,
});

But if I add a condition (the condition does not matter, but if I add the condition the behaviour changes)

const products = await prisma.products.findMany({
      where: {
        is_enable: true,
        is_deleted: false,
      },
      include: {
        items: {
          where: {
            is_deleted: false
          },
          include: {
            parts: {
              where: {
                is_deleted: false,
              },
              include: {
                subvehicles: {
                  include: {
                    vehicles: {
                      include: {
                        manufacturers: true
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      skip: replacements.offset,
      take: replacements.limit,
    });

I get

{
"clientVersion": "3.6.0"
}

UPDATE

In the first case the generated query is

prisma:client Prisma Client call: +1s
prisma:client prisma.products.findMany({
prisma:client   where: {
prisma:client     is_enable: true,
prisma:client     is_deleted: false
prisma:client   },
prisma:client   include: {
prisma:client     items: {
prisma:client       where: {
prisma:client         is_deleted: false
prisma:client       },
prisma:client       include: {
prisma:client         parts: {
prisma:client           include: {
prisma:client             subvehicles: {
prisma:client               include: {
prisma:client                 vehicles: {
prisma:client                   include: {
prisma:client                     manufacturers: true
prisma:client                   }
prisma:client                 }
prisma:client               }
prisma:client             }
prisma:client           }
prisma:client         }
prisma:client       }
prisma:client     }
prisma:client   }
prisma:client }) +1ms
prisma:client Generated request: +1ms
prisma:client query {
prisma:client   findManyproducts(where: {
prisma:client     is_enable: true
prisma:client     is_deleted: false
prisma:client   }) {
prisma:client     id
prisma:client     code
prisma:client     description
prisma:client     position
prisma:client     is_enable
prisma:client     category
prisma:client     filename
prisma:client     is_deleted
prisma:client     creation_date
prisma:client     last_modification_date
prisma:client     items(where: {
prisma:client       is_deleted: false
prisma:client     }) {
prisma:client       id
prisma:client       part_id
prisma:client       product_id
prisma:client       quantity
prisma:client       is_deleted
prisma:client       creation_date
prisma:client       last_modification_date
prisma:client       parts {
prisma:client         id
prisma:client         subvehicle_id
prisma:client         oem
prisma:client         is_deleted
prisma:client         creation_date
prisma:client         last_modification_date
prisma:client         subvehicles {
prisma:client           id
prisma:client           vehicle_id
prisma:client           submodel
prisma:client           is_deleted
prisma:client           creation_date
prisma:client           last_modification_date
prisma:client           vehicles {
prisma:client             id
prisma:client             manufacturer_id
prisma:client             model
prisma:client             is_deleted
prisma:client             creation_date
prisma:client             last_modification_date
prisma:client             manufacturers {
prisma:client               id
prisma:client               name
prisma:client               position
prisma:client               is_deleted
prisma:client               creation_date
prisma:client               last_modification_date
prisma:client             }
prisma:client           }
prisma:client         }
prisma:client       }
prisma:client     }
prisma:client   }
prisma:client }
prisma:client  +0ms

In the second case

prisma:client clientVersion: 3.6.0 +0ms
prisma:client clientEngineType: library +0ms
0 Answers
Related