<?xml version="1.0" encoding="UTF-8"?> <model package="storefinder" baseClass="xPDOObject" platform="mysql" defaultEngine="MyISAM" phpdoc-package="storefinder" phpdoc-subpackage="model" version="1.1"> <object class="sfStore" table="sfinder_stores" extends="xPDOSimpleObject"> <field key="name" dbtype="varchar" precision="100" phptype="string" null="false" default="" index="index" /> <field key="address" dbtype="varchar" precision="255" phptype="string" null="false" default="" /> <field key="city" dbtype="varchar" precision="255" phptype="string" null="false" default="" /> <field key="state" dbtype="varchar" precision="255" phptype="string" null="false" default="" /> <field key="zip" dbtype="varchar" precision="10" phptype="string" null="false" default="0" index="index" /> <field key="country" dbtype="varchar" precision="20" phptype="string" null="false" default="" /> <field key="phone" dbtype="varchar" precision="20" phptype="string" null="false" default="" /> <field key="fax" dbtype="varchar" precision="20" phptype="string" null="false" default="" /> <field key="active" dbtype="int" precision="1" attributes="unsigned" phptype="integer" null="false" default="0" /> <alias key="postalcode" field="zip" /> <index alias="name" name="name" primary="false" unique="false" type="BTREE"> <column key="name" length="" collation="A" null="false" /> </index> <index alias="zip" name="zip" primary="false" unique="false" type="BTREE"> <column key="zip" length="" collation="A" null="false" /> </index> <composite alias="StoreOwners" class="sfStoreOwner" local="id" foreign="store" cardinality="many" owner="local" /> </object> <object class="sfOwner" table="sfinder_owners" extends="xPDOSimpleObject"> <field key="name" dbtype="varchar" precision="100" phptype="string" null="false" default="" index="index" /> <field key="email" dbtype="varchar" precision="255" phptype="string" null="false" default="" /> <index alias="name" name="name" primary="false" unique="false" type="BTREE"> <column key="name" length="" collation="A" null="false" /> </index> <composite alias="StoreOwners" class="sfStoreOwner" local="id" foreign="owner" cardinality="many" owner="local" /> </object> <object class="sfStoreOwner" table="sfinder_store_owners" extends="xPDOSimpleObject"> <field key="store" dbtype="int" precision="10" attributes="unsigned" phptype="integer" null="false" default="0" index="index" /> <field key="owner" dbtype="int" precision="10" attributes="unsigned" phptype="integer" null="false" default="0" index="index" /> <index alias="store" name="store" primary="false" unique="false" type="BTREE"> <column key="store" length="" collation="A" null="false" /> </index> <index alias="owner" name="owner" primary="false" unique="false" type="BTREE"> <column key="owner" length="" collation="A" null="false" /> </index> <aggregate alias="Store" class="sfStore" local="store" foreign="id" cardinality="one" owner="foreign" /> <aggregate alias="Owner" class="sfOwner" local="owner" foreign="id" cardinality="one" owner="foreign" /> </object> </model>
$modx->addPackage('storefinder', MODX_CORE_PATH . 'components/storefinder/model/'); $store = $modx->getObject('sfStore', 1); $owners = $modx->getCollection('sfOwner'); $store->addMany($owners); $store->save();
[2015-09-10 13:51:14] (ERROR @ /index.php) No foreign key definition for parentClass: sfStore using relation alias: sfOwner
$category = $modx->getObject('modCategory',6); $chunks = $modx->getCollection('modChunk'); $category->addMany($chunks); $category->save();
<?xml version="1.0" encoding="UTF-8"?> <model package="ofc" baseClass="xPDOObject" platform="mysql" defaultEngine="MyISAM" version="1.1"> <object class="classBlogposts" table="test_blogposts" extends="xPDOSimpleObject"> <field key="content" dbtype="text" phptype="string" null="true" /> <composite alias="aliasBlogpostsTags" class="classBlogpostsTags" local="id" foreign="blogpost" cardinality="many" owner="local" /> </object> <object class="classTags" table="test_tags" extends="xPDOSimpleObject"> <field key="name" dbtype="varchar" precision="255" phptype="string" null="true" /> <composite alias="aliasTagsBlogposts" class="classBlogpostsTags" local="id" foreign="tag" cardinality="many" owner="local" /> </object> <object class="classBlogpostsTags" table="test_blogposts_tags" extends="xPDOSimpleObject"> <field key="blogpost" dbtype="int" precision="11" phptype="integer" null="true" /> <field key="tag" dbtype="int" precision="11" phptype="integer" null="true" /> <aggregate alias="Tags" class="classTags" local="tag" foreign="id" cardinality="one" owner="foreign" /> <aggregate alias="Blogposts" class="classBlogposts" local="blogpost" foreign="id" cardinality="one" owner="foreign" /> </object> </model>
$modx->addPackage('ofc', MODX_CORE_PATH . 'components/ofc/model/'); $blogpost = $modx->getObject('classBlogposts', 1); $tags = $modx->getCollection('classTags'); $blogpost->addMany($tags); $blogpost->save();
[2015-09-14 15:54:13] (ERROR @ /index.php) No foreign key definition for parentClass: classBlogposts using relation alias: classTags
[2015-09-14 15:54:13] (ERROR @ /index.php) No foreign key definition for parentClass: classBlogposts using relation alias: classTags
$blogpost = $modx->getObject('classBlogposts', 1); $blogpostId = $blogPost->get('id'); $tags = $modx->getCollection('classTags'); foreach ($tags as $tag) { $tagId = $tag->get('id'); $bpt = $modx->newObject('classBlogpostsTags'); $bpt->set('blogpost', $blogpostId); $bpt->set('tag', $tagId); $bpt->save(); }
$blogpost->addMany($tags, 'aliasBlogpostsTags');