No foreign key definition for parentClass: productLine using relation alias: Resource
<?xml version="1.0" encoding="UTF-8"?>
<model package="rhythmcatalog" baseClass="xPDOObject" platform="mysql" defaultEngine="MyISAM" version="1.1">
<object class="productLine" table="rli_product_line" extends="xPDOSimpleObject" >
<field key="name" dbtype="varchar" precision="255" phptype="string" null="false" default="" index="index" />
<field key="priority" dbtype="integer" precision="10" phptype="integer" attributes="unsigned" null="true" default="100"/>
<field key="description" dbtype="mediumtext" phptype="string" null="true" defualt=""/>
<field key="published" dbtype="tinyint" precision="1" attributes="unsigned" phptype="integer" null="false" default="0" />
<field key="createdby" dbtype="int" precision="10" phptype="integer" null="false" default="0" />
<field key="createdon" dbtype="datetime" phptype="datetime" null="false" />
<field key="deleted" dbtype="tinyint" precision="1" attributes="unsigned" phptype="integer" null="false" default="0" />
<field key="deletedon" dbtype="datetime" phptype="datetime" null="false" />
<field key="deletedby" dbtype="int" precision="10" phptype="integer" null="false" default="0" />
<field key="publishedon" dbtype="datetime" phptype="datetime" null="false" />
<field key="publishedby" dbtype="int" precision="10" phptype="integer" null="false" default="0" />
<index alias="PRIMARY" name="PRIMARY" primary="true" unique="true">
<column key="id" collation="A" null="false" />
</index>
<aggregate alias="Creator" class="modUser" local="createdby" foreign="id" cardinality="one" owner="foreign" />
<composite alias="LineOptions" class="productLineOptions" local="id" foreign="line_id" cardinality="many" owner="local"/>
<composite alias="ProductGroup" class="productGroup" local="id" foreign="line_id" cardinality="many" owner="local"/>
<composite alias="ProductInfo" class="productInfo" local="id" foreign="line_id" cardinality="many" owner="local"/>
<composite alias="ProductCategories" class="productCategories" local="id" foreign="line_id" cardinality="many" owner="local"/>
</object>
<object class="productGroup" table="rli_product_group" extends="xPDOSimpleObject" >
<field key="name" dbtype="varchar" precision="255" phptype="string" null="false" default="" index="index" />
<field key="line_id" dbtype="int" precision="10" attributes="unsigned" phptype="integer" null="false" default="0"/>
<field key="image_path" dbtype="varchar" precision="255" phptype="string" null="false" default="" index="index" />
<index alias="PRIMARY" name="PRIMARY" primary="true" unique="true">
<column key="id" collation="A" null="false" />
</index>
<aggregate alias="ProductLine" class="productLine" local="line_id" foreign="id" cardinality="one" owner="foreign"/>
</object>
<object class="productInfo" table="rli_products" extends="xPDOSimpleObject" >
<field key="prod_no" dbtype="varchar" precision="255" phptype="string" null="false" default="" index="index"/>
<field key="options" dbtype="mediumtext" phptype="string" null="true" default=""/>
<field key="qty" dbtype="integer" precision="10" phptype="integer" attributes="unsigned" null="true" default=""/>
<field key="grp_id" dbtype="int" precision="10" attributes="unsigned" phptype="integer" null="false" default="0"/>
<field key="line_id" dbtype="int" precision="10" attributes="unsigned" phptype="integer" null="false" default="0"/>
<field key="category" dbtype="varchar" precision="255" phptype="string" null="false" default=""/>
<field key="colors" dbtype="varchar" precision="255" phptype="string" null="true" default=""/>
<field key="createdby" dbtype="int" precision="10" phptype="integer" null="false" default="0" />
<field key="createdon" dbtype="datetime" phptype="datetime" null="false" />
<index alias="PRIMARY" name="PRIMARY" primary="true" unique="true">
<column key="id" collation="A" null="false" />
</index>
<aggregate alias="ProductGroup" class="productGroup" local="grp_id" foreign="id" cardinality="one" owner="foreign"/>
<aggregate alias="ProductLine" class="productLine" local="line_id" foreign="id" cardinality="one" owner="foreign"/>
</object>
<object class="productColors" table="rli_colors" extends="xPDOSimpleObject" >
<field key="colorname" dbtype="varchar" precision="255" phptype="string" null="false" default="" index="index" />
<field key="colorvalue" dbtype="varchar" precision="255" phptype="string" null="false" default="" />
<field key="colorgroup" dbtype="integer" precision="1" phptype="integer" attributes="unsigned" null="false" default="0"/>
<index alias="PRIMARY" name="PRIMARY" primary="true" unique="true">
<column key="id" collation="A" null="false" />
</index>
</object>
<object class="productCategories" table="rli_categories" extends="xPDOSimpleObject" >
<field key="name" dbtype="varchar" precision="255" phptype="string" null="false" default="" index="index" />
<field key="value" dbtype="varchar" precision="255" phptype="string" null="false" default="" />
<field key="line_id" dbtype="int" precision="10" attributes="unsigned" phptype="integer" null="false" default="0"/>
<index alias="PRIMARY" name="PRIMARY" primary="true" unique="true">
<column key="id" collation="A" null="false" />
</index>
<aggregate alias="ProductLine" class="productLine" local="line_id" foreign="id" cardinality="one" owner="foreign"/>
</object>
<object class="productOptions" table="rli_opts" extends="xPDOSimpleObject" >
<field key="name" dbtype="varchar" precision="255" phptype="string" null="false" default="" index="index" />
<field key="value" dbtype="varchar" precision="255" phptype="string" null="false" default="" />
<field key="type" dbtype="varchar" precision="255" phptype="string" null="false" default="spec" />
<index alias="PRIMARY" name="PRIMARY" primary="true" unique="true">
<column key="id" collation="A" null="false" />
</index>
<composite alias="ProductInfoOptions" class="productInfoOptions" local="id" foreign="opt_id" cardinality="many" owner="local"/>
<composite alias="ProductLineOptions" class="productLineOptions" local="id" foreign="opt_id" cardinality="many" owner="local"/>
</object>
<object class="productLineOptions" table="rli_product_line_opts" extends="xPDOSimpleObject" >
<field key="line_id" dbtype="int" precision="10" attributes="unsigned" phptype="integer" null="false" default="0"/>
<field key="opt_id" dbtype="int" precision="10" attributes="unsigned" phptype="integer" null="false" default="0"/>
<index alias="PRIMARY" name="PRIMARY" primary="true" unique="true">
<column key="id" collation="A" null="false" />
</index>
<aggregate alias="ProductLine" class="productLine" local="line_id" foreign="id" cardinality="one" owner="foreign"/>
<aggregate alias="ProductOption" class="productColors" local="opt_id" foreign="id" cardinality="one" owner="foreign"/>
</object>
</model>{
"formtabs":[
{
"MIGX_id":3,
"caption":"Product Lines",
"print_before_tabs":1,
"fields":[
{
"MIGX_id":1,
"field":"name",
"caption":"Product Line Name",
"description":"",
"description_is_code":"0",
"inputTV":"",
"inputTVtype":"",
"validation":"",
"configs":"",
"sourceFrom":"config",
"sources":"[]",
"inputOptionValues":"",
"default":""
},
{
"MIGX_id":2,
"field":"priority",
"caption":"List Priority",
"description":"Set the priority when product lines are listed. Lower numbers are put at the top of the list. In the case of matching priorities, product lines will be sort alphabetically",
"description_is_code":"0",
"inputTV":"",
"inputTVtype":"singleSlider",
"validation":"",
"configs":{
"allowBlank":true,
"allowDecimals":"No",
"allowNegative":"No",
"decimalPrecision":"0",
"decimalSeparator":".",
"maxValue":100,
"minValue":"0"
},
"restrictive_condition":"",
"display":"",
"sourceFrom":"config",
"sources":"[]",
"inputOptionValues":"",
"default":""
}
]
},
{
"MIGX_id":6,
"caption":"Overview",
"print_before_tabs":"0",
"fields":[
{
"MIGX_id":1,
"field":"description",
"caption":"Overview",
"description":"",
"description_is_code":"0",
"inputTV":"",
"inputTVtype":"richtext",
"validation":"",
"configs":"",
"sourceFrom":"config",
"sources":"[]",
"inputOptionValues":"",
"default":""
}
]
},
{
"MIGX_id":4,
"caption":"Products",
"print_before_tabs":"0",
"fields":[
{
"MIGX_id":1,
"field":"",
"caption":"Products",
"description":"",
"description_is_code":"0",
"inputTV":"",
"inputTVtype":"migxdb",
"validation":"",
"configs":"Products",
"restrictive_condition":"",
"display":"",
"sourceFrom":"config",
"sources":"[]",
"inputOptionValues":"",
"default":""
}
]
},
{
"MIGX_id":5,
"caption":"Product Groups",
"print_before_tabs":"0",
"fields":[
{
"MIGX_id":1,
"field":"",
"caption":"Groups",
"description":"",
"description_is_code":"0",
"inputTV":"",
"inputTVtype":"migxdb",
"validation":"",
"configs":"Product Groups",
"sourceFrom":"config",
"sources":"[]",
"inputOptionValues":"",
"default":""
}
]
},
{
"MIGX_id":8,
"caption":"Sub-Categories",
"print_before_tabs":"0",
"fields":[
{
"MIGX_id":1,
"field":"",
"caption":"Group Categories",
"description":"",
"description_is_code":"0",
"inputTV":"",
"inputTVtype":"migxdb",
"validation":"",
"configs":"Product Category",
"restrictive_condition":"",
"display":"",
"sourceFrom":"config",
"sources":"[]",
"inputOptionValues":"",
"default":""
}
]
},
{
"MIGX_id":7,
"caption":"Colors",
"print_before_tabs":"0",
"fields":[
{
"MIGX_id":1,
"field":"",
"caption":"Colors",
"description":"",
"description_is_code":"0",
"inputTV":"",
"inputTVtype":"migxdb",
"validation":"",
"configs":"Product Colors",
"restrictive_condition":"",
"display":"",
"sourceFrom":"config",
"sources":"[]",
"inputOptionValues":"",
"default":""
}
]
}
],
"contextmenus":"update||remove",
"actionbuttons":"addItem",
"columnbuttons":"",
"filters":"[]",
"extended":{
"migx_add":"Add Product Line",
"formcaption":"",
"update_win_title":"",
"win_id":"productline",
"maxRecords":"",
"addNewItemAt":"bottom",
"multiple_formtabs":"",
"actionbuttonsperrow":4,
"winbuttonslist":"",
"extrahandlers":"",
"filtersperrow":4,
"packageName":"rhythmcatalog",
"classname":"productLine",
"task":"",
"getlistsort":"priority",
"getlistsortdir":"",
"use_custom_prefix":"0",
"prefix":"",
"grid":"",
"gridload_mode":1,
"check_resid":1,
"check_resid_TV":"",
"join_alias":"",
"has_jointable":"yes",
"getlistwhere":"",
"joins":"",
"cmpmaincaption":"RhythmLink Catalog Manager",
"cmptabcaption":"Product Lines",
"cmptabdescription":"",
"cmptabcontroller":"",
"winbuttons":"",
"onsubmitsuccess":"",
"submitparams":""
},
"columns":[
{
"MIGX_id":4,
"header":"Pri",
"dataIndex":"priority",
"width":"",
"sortable":true,
"show_in_grid":1,
"renderer":"",
"clickaction":"",
"selectorconfig":"",
"renderchunktpl":"",
"renderoptions":"[]"
},
{
"MIGX_id":1,
"header":"id",
"dataIndex":"id",
"width":"",
"sortable":"false",
"show_in_grid":"0",
"renderer":"",
"clickaction":"",
"selectorconfig":"",
"renderchunktpl":"",
"renderoptions":"[]"
},
{
"MIGX_id":2,
"header":"Product Line Name",
"dataIndex":"name",
"width":"",
"sortable":true,
"show_in_grid":1,
"renderer":"",
"clickaction":"",
"selectorconfig":"",
"renderchunktpl":"",
"renderoptions":"[]"
},
{
"MIGX_id":3,
"header":"",
"dataIndex":"deleted",
"width":"",
"sortable":"false",
"show_in_grid":"0",
"renderer":"",
"clickaction":"",
"selectorconfig":"",
"renderchunktpl":"",
"renderoptions":"[]"
}
]
}{
"formtabs":[
{
"MIGX_id":1,
"caption":"Color Build",
"print_before_tabs":"0",
"fields":[
{
"MIGX_id":1,
"field":"colorname",
"caption":"Color Name",
"description":"",
"description_is_code":"0",
"inputTV":"",
"inputTVtype":"",
"validation":"",
"configs":"",
"restrictive_condition":"",
"display":"",
"sourceFrom":"config",
"sources":"[]",
"inputOptionValues":"",
"default":""
},
{
"MIGX_id":5,
"field":"colorvalue",
"caption":"Color Value",
"description":"",
"description_is_code":"0",
"inputTV":"colorpicker",
"inputTVtype":"",
"validation":"",
"configs":"",
"restrictive_condition":"",
"display":"",
"sourceFrom":"config",
"sources":"[]",
"inputOptionValues":"",
"default":""
}
]
}
],
"contextmenus":"update||remove",
"actionbuttons":"addItem",
"columnbuttons":"",
"filters":"[]",
"extended":{
"migx_add":"Add Color",
"formcaption":"",
"update_win_title":"",
"win_id":"color",
"maxRecords":"",
"addNewItemAt":"bottom",
"multiple_formtabs":"",
"actionbuttonsperrow":4,
"winbuttonslist":"",
"extrahandlers":"",
"filtersperrow":4,
"packageName":"rhythmcatalog",
"classname":"productColors",
"task":"colors",
"getlistsort":"",
"getlistsortdir":"",
"use_custom_prefix":"0",
"prefix":"",
"grid":"",
"gridload_mode":1,
"check_resid":1,
"check_resid_TV":"",
"join_alias":"",
"has_jointable":"yes",
"getlistwhere":"",
"joins":"",
"cmpmaincaption":"",
"cmptabcaption":"Manage Colors",
"cmptabdescription":"Manage the colors available to all products",
"cmptabcontroller":"",
"winbuttons":"",
"onsubmitsuccess":"",
"submitparams":""
},
"columns":[
{
"MIGX_id":1,
"header":"Name",
"dataIndex":"colorname",
"width":"",
"sortable":"false",
"show_in_grid":1,
"renderer":"",
"clickaction":"",
"selectorconfig":"",
"renderchunktpl":"",
"renderoptions":"[]"
},
{
"MIGX_id":3,
"header":"",
"dataIndex":"id",
"width":"",
"sortable":"false",
"show_in_grid":"0",
"renderer":"",
"clickaction":"",
"selectorconfig":"",
"renderchunktpl":"",
"renderoptions":"[]"
}
]
}This question has been answered by Bruno17. See the first response.
"has_jointable":"yes",