[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:
in blocks/PortfolioHeroFields.ts 18:18 I think you need to change
relationTo
to
portfolio
(lowercase)
That worked, thanks!
any time 🙂
oh just realized it was you from the other thread 😄
good luck and have fun with payload 🙂
Star
Discord
online
Get help straight from the Payload team with an Enterprise License.