Rumah  >  Soal Jawab  >  teks badan

Prisma mencipta baris berkaitan secara automatik apabila induk dibuat

<p>Saya mempunyai corak yang serupa dengan ini</p> <pre class="brush:php;toolbar:false;">model Pengguna { id Int @default(autoincrement()) tetapanTetapan } Tetapan model { userId Int settingOne Boolean @default(false) pengguna Pengguna @relation(medan: [userId], rujukan: [id], onDelete: Cascade) }</pre> <p>Saya tidak mahu tetapan pengguna menjadi pilihan - adakah terdapat cara untuk mencipta baris yang sepadan secara automatik dalam jadual tetapan apabila pengguna dibuat? </p>
P粉211600174P粉211600174420 hari yang lalu392

membalas semua(2)saya akan balas

  • P粉916760429

    P粉9167604292023-08-27 15:43:23

    Saya melakukan sesuatu yang hampir serupa dalam kod saya:

    const publication = await prisma.publication.create({
        data: {
            title: e.title,
            type: e.type,
            content: e.content,
            user: {
                connect: {
                    id: user.id
                }
            },
            publicationStatus: {
                create: {
                    status: 'DRAFT'
                }
            }
        }
    });
    

    Kita semua publications都有一个对应的publicationStatus, sama seperti soalan yang anda senaraikan, mungkin anda boleh melakukan ini:

    await prisma.user.create({
        data: {
            settings: {
                create: {
                    settingOne: true
                }
            }
        }
    })
    

    Atau sesuatu yang serupa?

    balas
    0
  • P粉710454910

    P粉7104549102023-08-27 12:46:38

    Ini adalah mustahil kerana jika kedua-dua belah perhubungan diperlukan, maka bagaimana anda boleh mencipta salah satu daripadanya? Jadi aspek hubungan tanpa skalar hubungan (medan yang mewakili kunci asing dalam pangkalan data) mestilah pilihan. Anda boleh tentukan sendiri yang mana satu.

    Sebagai contoh, anda ingin mencipta model User,但Settings是必需的,所以你需要先创建Settings。但是要创建Settings,你也需要User,因为它在Settings yang diperlukan.

    Sila rujuk dokumentasi untuk maklumat lanjut

    balas
    0
  • Batalbalas