当我添加一个新的电影与形式,我希望它有一个类别的id 'all-films'默认情况下。我该怎么办?先谢了。下面是代码:
新电影.tsx -->
const form = useForm({
resolver: zodResolver(formSchema),
defaultValues: {
id:"",
name: "",
imageUrl: "",
filmUrl: "",
}
})
const onSubmit = async (values: z.infer<typeof formSchema>) => {
try {
await axios.post("/api/films", values)
form.reset()
router.refresh()
onClose()
} catch (error) {
console.log(error);
}
}
API/films/route.ts -->
import { db } from "@/lib/db";
import { NextResponse } from "next/server";
export async function POST(req: Request){
try {
const { id, name, imageUrl, filmUrl } = await req.json()
const film = await db.film.create({
data: {
id,
name,
imageUrl,
filmUrl
}
})
return NextResponse.json(film)
} catch (error) {
console.log("[GAMES_POST]", error);
return new NextResponse("Internal Error", {status: 500})
}
}
schema.prisma -->
model Category {
id String @id
name String
imageUrl String @db.Text
films Film[]
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
}
model Film {
id String @id
name String
imageUrl String @db.Text
filmUrl String @db.Text
category Category[]
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
}
当我添加一个新的电影与形式,我希望它有一个类别的id 'all-films'默认情况下。我该怎么办?先谢了。下面是代码:
2条答案
按热度按时间avwztpqn1#
我解决了这个问题如下:
u5i3ibmn2#
最简单的解决方案是编辑POST函数,并将其作为一个新参数填充:
如果你想让用户能够选择一个类别,并预先填写它,你需要展开你的表单,然后添加一个默认值(你已经有一些空的,它似乎):