I can't get my head around this. The snippet works perfectly on the front end, but when I try to use it to build a select list TV I get a load of errors.
Can anyone help please?
Snippet code:
<?php
$snippetPath = $modx->getOption('core_path').'components/singforfun/';
$modx->addPackage('singforfun',$snippetPath.'model/');
$c = $modx->newQuery('locations');
$c->sortby('title','ASC');
$total = $modx->getCount('locations', $c);
$locs = $modx->getCollection('locations',$c);
$count=0;
$output="";
foreach ($locs as $loc) {
$output.=$loc->get('title')."==".$loc->get('id');
$count++;
if ($count<$total) $output.="||";
}
return $output;
Error log:
[2013-01-25 15:35:43] (ERROR @ /manager/index.php) Could not get table class for class: locations
[2013-01-25 15:35:43] (ERROR @ /manager/index.php) Could not get table name for class: locations
[2013-01-25 15:35:43] (ERROR @ /manager/index.php) Error 42000 executing statement:
Array
(
[0] => 42000
[1] => 1064
[2] => You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AS `locations` ORDER BY title ASC' at line 1
)
XML schema:
<?xml version="1.0" encoding="UTF-8"?>
<model package="singforfun" baseClass="xPDOObject" platform="mysql" defaultEngine="MyISAM" version="1.1">
<object class="workshops" table="workshops" extends="xPDOSimpleObject" >
<field key="category" dbtype="tinyint" precision="1" attributes="unsigned" phptype="integer" null="true" default="0" />
<field key="location" dbtype="tinyint" precision="1" attributes="unsigned" phptype="integer" null="true" default="0" />
<field key="owner" dbtype="tinyint" precision="1" attributes="unsigned" phptype="integer" null="true" default="0" />
<field key="title" dbtype="varchar" precision="255" phptype="string" null="true" default="" index="index" />
<field key="startdate" dbtype="datetime" phptype="datetime" null="true" />
<field key="enddate" dbtype="datetime" phptype="datetime" null="true" />
<field key="capacity" dbtype="int" precision="10" phptype="integer" null="true" default="0" />
<field key="opendate" dbtype="datetime" phptype="datetime" null="true" />
<field key="closedate" dbtype="datetime" phptype="datetime" null="true" />
<field key="cost" dbtype="decimal" precision="8,2" phptype="float" null="true" default="" />
<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="editedby" dbtype="int" precision="10" phptype="integer" null="false" default="0" />
<field key="editedon" 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" />
<aggregate alias="Category" class="categories" local="category" foreign="id" cardinality="one" owner="foreign" />
<aggregate alias="Location" class="locations" local="location" foreign="id" cardinality="one" owner="foreign" />
</object>
<object class="categories" table="categories" extends="xPDOSimpleObject" >
<field key="title" dbtype="varchar" precision="255" phptype="string" null="true" default="" index="index" />
<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="editedby" dbtype="int" precision="10" phptype="integer" null="false" default="0" />
<field key="editedon" 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>
<composite alias="Workshop" class="workshops" local="id" foreign="category" cardinality="many" owner="local" />
<aggregate alias="Creator" class="modUser" local="createdby" foreign="id" cardinality="one" owner="foreign" />
</object>
<object class="locations" table="locations" extends="xPDOSimpleObject" >
<field key="title" dbtype="varchar" precision="255" phptype="string" null="true" default="" index="index" />
<field key="address" dbtype="varchar" precision="255" phptype="string" null="true" default="" index="index" />
<field key="address2" dbtype="varchar" precision="255" phptype="string" null="true" default="" index="index" />
<field key="town" dbtype="varchar" precision="255" phptype="string" null="true" default="" index="index" />
<field key="county" dbtype="varchar" precision="255" phptype="string" null="true" default="" index="index" />
<field key="postcode" dbtype="varchar" precision="255" phptype="string" null="true" default="" index="index" />
<field key="phone" dbtype="varchar" precision="255" phptype="string" null="true" default="" index="index" />
<field key="email" dbtype="varchar" precision="255" phptype="string" null="true" default="" index="index" />
<field key="website" dbtype="varchar" precision="255" phptype="string" null="true" default="" index="index" />
<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="editedby" dbtype="int" precision="10" phptype="integer" null="false" default="0" />
<field key="editedon" 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>
<composite alias="Workshop" class="workshops" local="id" foreign="location" cardinality="many" owner="local" />
<aggregate alias="Creator" class="modUser" local="createdby" foreign="id" cardinality="one" owner="foreign" />
</object>
<object class="bookings" table="bookings" extends="xPDOSimpleObject" >
<field key="userid" dbtype="tinyint" precision="1" attributes="unsigned" phptype="integer" null="false" default="0" />
<field key="workshop" dbtype="tinyint" precision="1" attributes="unsigned" phptype="integer" null="false" default="0" />
<field key="bookedon" dbtype="datetime" phptype="datetime" null="false" />
<field key="payment" dbtype="tinyint" precision="1" attributes="unsigned" phptype="integer" null="false" default="0" />
<field key="status" dbtype="tinyint" precision="1" attributes="unsigned" phptype="integer" null="false" default="0" />
<field key="worldpayresponse" dbtype="varchar" precision="255" phptype="string" null="true" default="" index="index" />
<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="editedby" dbtype="int" precision="10" phptype="integer" null="false" default="0" />
<field key="editedon" 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="Booker" class="modUser" local="userid" foreign="id" cardinality="one" owner="foreign" />
<aggregate alias="Course" class="workshops" local="workshops" foreign="id" cardinality="one" owner="foreign" />
</object>
</model>
[ed. note: [email protected] last edited this post 13 years, 8 months ago.]