मैं प्रिज्मा के साथ एक समस्या में फंस गया जिससे मुझे थोड़ा समय गंवाना पड़ा, इसलिए मैं लिखूंगा कि मैंने इसे कैसे हल किया।
मॉडल में id
नहीं था @id
. के रूप में चिह्नित फ़ील्ड इसलिए मैंने एक @@unique()
added जोड़ा कहने के लिए user
और tweet
, साथ में, unique
. को परिभाषित किया बाधा।
model Like {
user Int
tweet Int
createdAt DateTime @default(now())
@@unique([user, tweet])
}
इसका मतलब है कि हमारे पास (user, tweet)
. की 1 से अधिक समान प्रविष्टियां नहीं हो सकती हैं प्रविष्टियां।
जब मैंने
. के साथ एक प्रविष्टि को हटाने का प्रयास कियाawait prisma.like.delete({
where: {
user: 1,
tweet: 1
}
})
मुझे एक त्रुटि संदेश मिलता है:
PrismaClientValidationError:
Invalid `prisma.like.delete()` invocation:
{
where: {
user: 12,
~~~~
tweet: 22
~~~~~
}
~~~~~~~~~~~
}
Argument where of type LikeWhereUniqueInput needs exactly one argument, but you provided user and tweet. Please choose one. Available args:
type LikeWhereUniqueInput {
user_tweet?: LikeUserTweetCompoundUniqueInput
}
मुझे जो करना था वह था बदलाव
await prisma.like.delete({
where: {
user: 1,
tweet: 1
}
})
करने के लिए
await prisma.like.delete({
where: {
user_tweet: {
user: 1,
tweet: 1
}
}
})
दूसरे शब्दों में, अद्वितीय फ़ील्ड को एक अंडरस्कोर के साथ संयोजित करना।
पूर्व-निरीक्षण में त्रुटि संदेश इसे समझा रहा था, लेकिन मुझे यह नहीं मिला।