InvalidFieldRelationship: Field Item has invalid relationship 'Portfolio'.

default discord avatar
Taun
8 months ago
8
[04:04:45] INFO (payload): Connected to Mongo server successfully!
[04:04:45] INFO (payload): Starting Payload...
unhandledRejection InvalidFieldRelationship: Field Item has invalid relationship 'Portfolio'.
    at new ExtendableError (C:\git\2160\2160-Lodge-Bukela-2\node_modules\payload\src\errors\APIError.ts:26:11)
    at new APIError (C:\git\2160\2160-Lodge-Bukela-2\node_modules\payload\src\errors\APIError.ts:43:5)
    at new InvalidFieldRelationship (C:\git\2160\2160-Lodge-Bukela-2\node_modules\payload\src\errors\InvalidFieldRelationship.ts:6:5)
    at C:\git\2160\2160-Lodge-Bukela-2\node_modules\payload\src\fields\config\sanitize.ts:35:17
    at Array.forEach (<anonymous>)
    at C:\git\2160\2160-Lodge-Bukela-2\node_modules\payload\src\fields\config\sanitize.ts:33:21
    at Array.map (<anonymous>)
    at sanitizeFields (C:\git\2160\2160-Lodge-Bukela-2\node_modules\payload\src\fields\config\sanitize.ts:12:17)
    at C:\git\2160\2160-Lodge-Bukela-2\node_modules\payload\src\fields\config\sanitize.ts:74:59
    at Array.map (<anonymous>) {
  status: 500,
  data: null,
  isPublic: false,
  isOperational: true
} 


Any ideas?



//Portfolio.ts



import { CollectionConfig } from 'payload/types';

const Portfolio: CollectionConfig = {
  slug: 'portfolio',
  access: {
    create: (): boolean => true,
    read: (): boolean => true,
    update: (): boolean => true,
    delete: (): boolean => true,
  },

  fields: [
    {
      name: 'title',
      label: 'Title',
      type: 'text',
      required: true,
    },
    {
      name: 'subtitle',
      label: 'Venue Title',
      type: 'text',
      required: true,
    },
    {
      name: 'backgroundImage',
      type: 'upload',
      relationTo: 'media',
      required: true,
    },
    {
      name: 'alt',
      label: 'Alt Text',
      type: 'text',
      required: true,
    },
    {
      name: 'images',
      label: 'Images',
      type: 'upload',
      relationTo: 'media',
      required: true,
    },
  ],
};

export default Portfolio;


payloadconfig



import { buildConfig } from 'payload/config';
import dotenv from 'dotenv';
import Page from './collections/Page';
import Media from './collections/Media';
import Portfolio from './collections/Portfolio';
import MegaMenu from './globals/MegaMenu';
import SocialMedia from './globals/SocialMedia';
import Footer from './globals/Footer';

dotenv.config();

export default buildConfig({
  serverURL: process.env.PAYLOAD_PUBLIC_SERVER_URL,
  collections: [
    Page,
    Media,
    Portfolio,
  ],
  globals: [
    MegaMenu,
    SocialMedia,
    Footer,
  ],
});


Repo:


https://github.com/taunhealy/2160-Lodge-Bukela-2
  • default discord avatar
    Exo
    8 months ago

    in blocks/PortfolioHeroFields.ts 18:18 I think you need to change

    relationTo

    to

    portfolio

    (lowercase)

  • default discord avatar
    Taun
    8 months ago

    That worked, thanks!

  • default discord avatar
    Exo
    8 months ago

    any time 🙂



    oh just realized it was you from the other thread 😄



    good luck and have fun with payload 🙂

Open the post
Continue the discussion in Discord
Like what we're doing?
Star us on GitHub!

Star

Connect with the Payload Community on Discord

Discord

online

Can't find what you're looking for?

Get help straight from the Payload team with an Enterprise License.