We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 34109
    • 119 Posts
    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.]
      Studio Republic
      http://www.studiorepublic.com
      0845 226 3205
      @christodhunter
      • 34109
      • 119 Posts
      UPDATE:
      Trying to use the locations table in a migxdb grid is throwing the same error, but from the migxdb controller. Is it even possible to have more than one class in a migxdb package?
        Studio Republic
        http://www.studiorepublic.com
        0845 226 3205
        @christodhunter
        • 34109
        • 119 Posts
        Looks like having a table and class called locations was the problem. I've changed the name and it seems OK now.
          Studio Republic
          http://www.studiorepublic.com
          0845 226 3205
          @christodhunter