मैं प्रिज्मा के साथ एक समस्या में फंस गया जिससे मुझे थोड़ा समय गंवाना पड़ा, इसलिए मैं लिखूंगा कि मैंने इसे कैसे हल किया।
मॉडल में 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
}
}
}) दूसरे शब्दों में, अद्वितीय फ़ील्ड को एक अंडरस्कोर के साथ संयोजित करना।
पूर्व-निरीक्षण में त्रुटि संदेश इसे समझा रहा था, लेकिन मुझे यह नहीं मिला।