0

How to add a car to favorites via connectOrCreate (similar to the basket). I have a connection between Car model and SessionClient model many to many. The machines already exist in the database, customers receive a token when they log in on the site.

 model SessionClient {
      id           String              @id @default(cuid())
      sessionToken String              @unique
      expires      DateTime
      favoriteCars FavoriteCarsToCar[]
      watchedCars  WatchedCarsToCar[]
      compareCars  CompareCarsToCar[]
      createdAt    DateTime            @default(now())
      updatedAt    DateTime            @updatedAt
      Car          Car?                @relation(fields: [carId], references: [id])
      carId        String?
    }
    
    model FavoriteCarsToCar {
      session   SessionClient @relation(fields: [sessionId], references: [id])
      sessionId String
      car       Car           @relation(fields: [carId], references: [id])
      carId     String
    
      @@id([sessionId, carId])
    }


    model Car {
      id                 String              @id @default(cuid())
      id2                String              @unique
      color              String 
      mileage            String? 
      vin                String              @unique
      year               String? 
      img                String[] 
      price              Float? 
      desc               String? 
      active             Boolean             @default(true)
      createdAt          DateTime            @default(now())
      updatedAt          DateTime            @updatedAt
      sessionClients     SessionClient[]
      FavoriteCarsToCar  FavoriteCarsToCar[]
      WatchedCarsToCar   WatchedCarsToCar[]
      CompareCarsToCar   CompareCarsToCar[]

}

I usually did this when the base is completely empty, but in this case there are cars:

 const newCar = await db.car.create({
                        data: {
                            field: fieldDesc,
                            NewModel: {
                                connectOrCreate: {
                                    where: {
                                        id: fieldDesc)
                                    },
                                    create: {
                                        id:fieldDesc,
                                        name:fieldDesc
                                        
                                    }
                                },
                            },

0 Answers0