Maison  >  Questions et réponses  >  le corps du texte

Prisma crée automatiquement des lignes associées lorsque le parent est créé

<p>J'ai un motif similaire à celui-ci</p> <pre class="brush:php;toolbar:false;">modèle Utilisateur { id Int @default (autoincrement()) paramètresParamètres } Paramètres du modèle { ID utilisateur Int paramètreUn Booléen @default(false) user User @relation(champs : [userId], références : [id], onDelete : Cascade) }</pré> <p>Je ne souhaite pas que les paramètres de l'utilisateur soient facultatifs. Existe-t-il un moyen de créer automatiquement les lignes correspondantes dans le tableau des paramètres lors de la création de l'utilisateur ? </p>
P粉211600174P粉211600174420 Il y a quelques jours391

répondre à tous(2)je répondrai

  • P粉916760429

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

    Je fais quelque chose de très similaire dans mon code :

    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'
                }
            }
        }
    });
    

    Nous tous publications都有一个对应的publicationStatus, comme pour la question que vous avez énumérée, vous pouvez peut-être faire ceci :

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

    Ou quelque chose de similaire ?

    répondre
    0
  • P粉710454910

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

    C'est impossible car si les deux aspects de la relation sont requis, alors comment pouvez-vous créer l'un ou l'autre ? Les aspects relationnels sans scalaires relationnels (champs qui représentent les clés étrangères dans la base de données) doivent donc être facultatifs. Vous pouvez décider lequel vous-même.

    Par exemple, vous souhaitez créer un modèle User,但Settings是必需的,所以你需要先创建Settings。但是要创建Settings,你也需要User,因为它在Settings requis.

    Veuillez vous référer à la documentation pour plus d'informations

    répondre
    0
  • Annulerrépondre