Back
hasOne()
1. Basic one-to-one association
// A User has one Profile. The profiles table has userId as the foreign key.
// In app/models/User.cfc
hasOne("profile");
2. Strict inner join
// Force that every Employee must have one PayrollRecord.
// In app/models/Employee.cfc
hasOne(name="payrollRecord", joinType="inner");
// If there is no matching payrollRecord, the employee will not appear in queries using this association.
3. Auto-delete dependent record
// Delete the Profile when the User is deleted.
// In app/models/User.cfc
hasOne(name="profile", dependent="delete");
4. Custom foreign key
// If the foreign key doesn’t follow Wheels’ naming conventions.
// For example, Driver has one License, but the foreign key column is driver_ref.
// In app/models/Driver.cfc
hasOne(name="license", foreignKey="driver_ref");
5. Using joinKey for non-standard PK
// If the Company table uses companyCode instead of id as the primary key, and the Address table has companyCode as the foreign key:
// In app/models/Company.cfc
hasOne(name="address", joinKey="companyCode");
Copied!