Workflow for the relations on Postgress DB using Payload

Payload CMS uses a schema-based approach to define relationships in the collections configuration.

One to One

import { CollectionConfig } from “payload/types”;

const Users: CollectionConfig = {

 slug: “users”,

 fields: [

  {

   name: “profile”,

   type: “relationship”,

   relationTo: “profiles”, // The related collection

   unique: true, // Ensures one-to-one relationship

  },

 ],

};

export default Users;

import { CollectionConfig } from “payload/types”;

const Profiles: CollectionConfig = {

 slug: “profiles”,

 fields: [

  {

   name: “user”,

   type: “relationship”,

   relationTo: “users”,

   unique: true, // Ensures one-to-one relationship

  },

 ],

};

export default Profiles;

One to Many

const Orders: CollectionConfig = {

 slug: “orders”,

 fields: [

  {

   name: “user”,

   type: “relationship”,

   relationTo: “users”, // Many orders belong to one user

  },

 ],

};

const Orders: CollectionConfig = {

 slug: “orders”,

 fields: [

  {

   name: “user”,

   type: “relationship”,

   relationTo: “users”, // Many orders belong to one user

  },

 ],

};

Many to Many

const Products: CollectionConfig = {

 slug: “products”,

 fields: [

  {

   name: “categories”,

   type: “relationship”,

   relationTo: “categories”,

   hasMany: true, // Many-to-many relationship

  },

 ],

};

constCategories: CollectionConfig = { slug: “categories”, fields: [ { name: “products”, type: “relationship”, relationTo: “products”, hasMany: true, // Many-to-many relationship }, ], };

Leave a comment

Your email address will not be published. Required fields are marked *