This question has been answered by Bruno17. See the first response.
[2014-07-29 23:15:50] (ERROR @ /home/myuser/myuser.com/testsite/core/xpdo/om/xpdoobject.class.php : 1447) PHP warning: PDOStatement::execute() [<a href='pdostatement.execute'>pdostatement.execute</a>]: SQLSTATE[HY093]: Invalid parameter number: parameter was not defined [2014-07-29 23:15:50] (ERROR @ /testsite/assets/components/migx/connector.php) Error HY093 executing statement: INSERT INTO `modx_mytoyota_vehicle` (`make`, `model`, `manu-year`, `other`, `reg-no`, `uid`, `published`, `deleted`) VALUES ('Toyota', '', '', '', '', '', 1, 1) Array ( [0] => HY093 )
<?xml version="1.0" encoding="UTF-8"?> <model package="mytoyotavehicle" baseClass="xPDOObject" platform="mysql" defaultEngine="MyISAM" version="1.1"> <object class="myToyotaVehicle" table="mytoyota_vehicle" extends="xPDOSimpleObject" > <field key="make" dbtype="varchar" precision="255" phptype="string" null="false" default="" /> <field key="model" dbtype="varchar" precision="255" phptype="string" null="false" default="" /> <field key="manu-year" dbtype="varchar" precision="255" phptype="string" null="false" default="" /> <field key="other" dbtype="varchar" precision="255" phptype="string" null="false" default="" /> <field key="reg-no" dbtype="varchar" precision="255" phptype="string" null="false" default="" /> <field key="uid" dbtype="varchar" precision="255" phptype="string" null="false" default="" /> <field key="published" dbtype="tinyint" precision="1" attributes="unsigned" phptype="integer" null="false" default="" /> <field key="deleted" dbtype="tinyint" precision="1" attributes="unsigned" phptype="integer" null="false" default="" /> </object> </model>
<?php $vehicle_id = 337; // vehicle page page ID $page = $modx->getObject('modResource', $vehicle_id); $input = $page->getTVValue('myToyota'); $res = $modx->fromJSON($input); $count = count($res); $new_vehicle = array( 'MIGX_id' => count($res) + 1, 'make' => $scriptProperties['fields']['vehiclemake'], 'model' => $scriptProperties['fields']['vehiclemodel'], 'manu-year' => $scriptProperties['fields']['manuyear'], 'other' => $scriptProperties['fields']['other'], 'reg-no' => $scriptProperties['fields']['registrationno'], 'uid' => intval($scriptProperties['fields']['uid']) ); $res[] = $new_vehicle; if (!$page->setTVValue('myToyota', $modx->toJson($res))) { $modx->log(modX::LOG_LEVEL_ERROR,'There was a problem saving your MIGX PreviousServiceRequests TV!'); return false; } return true;
[[!FormIt? &hooks=`spam,formit2db,email` &preHooks=`db2formit` &prefix=`modx_` &packageName=`giveapraise_countries` &tablename=`giveapraise_countries` &emailTpl=`myEmailChunk` &emailTo=`[email protected]` &validate=` nospam:blank, code:required, name:required, published:required` ]]
<form class="form" action="[[~[[*id]]]]" method="post"> <input name="nospam" type="hidden" /> <input name="id" type="hidden" value="10" /> <label for="code"> Code: <span class="error">[[+fi.error.code]]</span> </label> <input id="code" name="code" type="text" value="[[+fi.code]]" /> <label for="name"> Country: <span class="error">[[+fi.error.name]]</span> </label> <input id="name" name="name" type="text" value="[[+fi.name]]" /> <label for="published"> Published: <span class="error">[[+fi.error.published]]</span> </label> <input id="published" name="published" type="text" value="[[+fi.published]]" /> <input name="deleted" type="hidden" value="0" /> <br class="clear" /> <div class="form-buttons"> <input type="submit" value="Save" /> </div> </form>
&classname=`yourClass`