For the complete experience, please enable JavaScript in your browser. Thank you!

  • Creative Cloud
  • Photoshop
  • Illustrator
  • InDesign
  • Premiere Pro
  • After Effects
  • Lightroom
  • See all
  • See plans for: businesses photographers students
  • Document Cloud
  • Acrobat DC
  • eSign
  • Stock
  • Elements
  • Marketing Cloud
  • Analytics
  • Audience Manager
  • Campaign
  • Experience Manager
  • Media Optimizer
  • Target
  • See all
  • Acrobat Reader DC
  • Adobe Flash Player
  • Adobe AIR
  • Adobe Shockwave Player
  • All products
  • Creative Cloud
  • Individuals
  • Photographers
  • Students and Teachers
  • Business
  • Schools and Universities
  • Marketing Cloud
  • Document Cloud
  • Stock
  • Elements
  • All products
  • Get Support
    Find answers quickly. Contact us if you need to.
    Start now >
  • Learn the apps
    Get started or learn new ways to work.
    Learn now >
  • Ask the community
    Post questions and get answers from experts.
    Start now >
    • About Us
    • Careers At Adobe
    • Investor Relations
    • Privacy  |  Security
    • Corporate Responsibility
    • Customer Showcase
    • Events
    • Contact Us
News
    • 3/22/2016
      Adobe Summit 2016: Are You An Experience Business?
    • 3/22/2016
      Adobe Announces Cross-Device Co-op to Enable People-Based Marketing
    • 3/22/2016
      Adobe and comScore Advance Digital TV and Ad Measurement
    • 3/22/2016
      Adobe Marketing Cloud Redefines TV Experience
Developing Applications Help / 

Generated methods for relationships between CFCs

Adobe Community Help


Applies to

  • ColdFusion

Contact support

 
By clicking Submit, you accept the Adobe Terms of Use.
 

When a relationship is defined in a CFC, ColdFusion generates a few methods in the CFC object to add or remove associated objects and to check their existence, for each relationship defined in the CFC.
The generated methods for relationships include:

  • add<relationship_property_name>()}}This method is generated for one-to-many and many-to-many relationships. The method adds the given object to the association collection (array or struct) of the component. For a bidirectional relationship, this method does not set the association on the other end.For{{ type="array", the method signature is:

    add<relationship_property_name>(<associated_object>)

    For type="struct", the method signature is:

    add<relationship_property_name>(<key>, <associated_object>)

  • boolean remove<relationship_property_name>()}}This method is generated for one-to-many and many-to-many relationships. The method removes the object from the associated collection (array or struct) of the component. If the associated object was removed from the collection successfully, then true is returned. For a bidirectional relationship, this method does not remove the association from the other end.For {{type="array", the method signature is:

    boolean remove<relationship_property_name>(<associated_object>)

    For type="struct", the method signature is:

    boolean remove<relationship_property_name>(<key>).

  • {{boolean Has<relationship_property_name>()}}This method is generated for all the relationships. For one-to-many and many-to-many, this method checks whether the association collection is empty. If the association collection is empty, it will return true. For one-to-one and many-to-one, this method checks whether the associated object exists.
  • boolean Has<relationship_property_name>(<associated_object>)}}This method is generated for one-to-many and many-to-many relationships. The method checks whether the given associated object is present in the association collection. If it is present, it returns true.For {{type="array", the method signature is

    {{boolean has<relationship_property_name>(<associated_object>)}}

    For type="struct", the method signature is

    {{boolean has<relationship_property_name>(<key>)}}

Example

Consider the following example of artists (ARTISTS table) and artwork (ART table), where the artist forms a one-to-many relationship with artwork.Artist.cfc

<cfcomponent persistent="true" schema="APP" table="Artists">
<cfproperty name="artistid" fieldtype="id"/>
<cfproperty name="firstname"/>
<cfproperty name="lastname"/>
<cfproperty name="state"/>
<cfproperty name="art" fieldtype="one-to-many" cfc="Art" fkcolumn="ArtistID" >
</cfcomponent>

Art.cfc

<cfcomponent persistent="true" schema="APP" table="Art">
<cfproperty name="artid" fieldtype="id"/>
<cfproperty name="artname"/>
<cfproperty name="issold"/>
</cfcomponent>

In this example Artist has a relation field art with Art. The following methods are implicitly added to the Artist object:

  • addArts(Art art)
  • booleanremoveArts(Art art)
  • booleanhasArts()
  • booleanhasArts(Art art)
    The attribute singularNameprovides the flexibility to change the name of the generated relationship methods. For example, if the relationship property of Artist is specified as follows:

    <cfproperty name="art" fieldtype="one-to-many" cfc="Art" fkcolumn="ArtistID" singularName="Art">

    then the following methods are generated:

  • addArt(Art art)
  • removeArt(Art art)
  • hasArt()
  • hasArt(Art art)

This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License  Twitter™ and Facebook posts are not covered under the terms of Creative Commons.

Legal Notices   |   Online Privacy Policy

Choose your region United States (Change)   Products   Downloads   Learn & Support   Company
Choose your region Close

Americas

Europe, Middle East and Africa

Asia Pacific

  • Brasil
  • Canada - English
  • Canada - Français
  • Latinoamérica
  • México
  • United States
  • Africa - English
  • Österreich - Deutsch
  • Belgium - English
  • Belgique - Français
  • België - Nederlands
  • България
  • Hrvatska
  • Cyprus - English
  • Česká republika
  • Danmark
  • Eesti
  • Suomi
  • France
  • Deutschland
  • Greece - English
  • Magyarország
  • Ireland
  • Israel - English
  • ישראל - עברית
  • Italia
  • Latvija
  • Lietuva
  • Luxembourg - Deutsch
  • Luxembourg - English
  • Luxembourg - Français
  • Malta - English
  • الشرق الأوسط وشمال أفريقيا - اللغة العربية
  • Middle East and North Africa - English
  • Moyen-Orient et Afrique du Nord - Français
  • Nederland
  • Norge
  • Polska
  • Portugal
  • România
  • Россия
  • Srbija
  • Slovensko
  • Slovenija
  • España
  • Sverige
  • Schweiz - Deutsch
  • Suisse - Français
  • Svizzera - Italiano
  • Türkiye
  • Україна
  • United Kingdom
  • Australia
  • 中国
  • 中國香港特別行政區
  • Hong Kong S.A.R. of China
  • India - English
  • 日本
  • 한국
  • New Zealand
  • Southeast Asia (Includes Indonesia, Malaysia, Philippines, Singapore, Thailand, and Vietnam) - English
  • 台灣

Commonwealth of Independent States

  • Includes Armenia, Azerbaijan, Belarus, Georgia, Moldova, Kazakhstan, Kyrgyzstan, Tajikistan, Turkmenistan, Ukraine, Uzbekistan

Copyright © 2016 Adobe Systems Incorporated. All rights reserved.

Terms of Use | Privacy | Cookies

AdChoices