addOne
Last edited by Everett Griffiths on May 26, 2014.
xPDOObject::addOne()
Adds an object related to this instance by a foreign key relationship.
Syntax
API Docs: http://api.modx.com/revolution/2.2/db_core_xpdo_om_xpdoobject.class.html#%5CxPDOObject::addOne()
boolean addOne ( mixed &$obj, [string $alias = ''] )
Example
Add a Rank to a newly-created Person, then save both through cascading.
$person = $xpdo->newObject('Person',1); $person->set('fname','Johnny'); $person->set('lname','Benjamins'); $rank = $xpdo->newObject('Rank'); $rank->set('title','CEO'); $rank->set('level',1); $person->addOne($rank); $person->save(); // will save both person and rank
Troubleshooting
If you're having trouble using this function, it's helpful to increase the logging level:
$modx->setLogLevel(4); // show all debugging infoIf you are getting errors like the following:
Foreign key definition for class , alias XXXXX not found, or cardinality is not 'one'.
then you should probably be using addMany() instead. Check your XML schema file for the object which is attempting to run addOne and verify that the relationship to the object you are trying to add is defined with cardinality="one".
See Also
Suggest an edit to this page on GitHub (Requires GitHub account. Opens a new window/tab).