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`