21309 Posts in 5738 Topics by 2603 members
General Questions
SilverStripe Forums » General Questions » the method 'fortemplate' does not exist on 'ArrayList'
General questions about getting started with SilverStripe that don't fit in any of the categories above.
Moderators: martimiz, Howard, Sean, Ryan M., biapar, Willr, Ingo, swaiba, simon_w
|
Page:
1
|
Go to End | |
| Author | Topic: | 407 Views |
-
the method 'fortemplate' does not exist on 'ArrayList'

15 October 2012 at 10:36am
In Silverstripe 3, how can I run custom SQL and return the result for handling in my template? So far, I have:
function getListings(){
$sqlQuery = new SQLQuery();
$sqlQuery->setFrom('ListingCategory_Listings');
$sqlQuery->selectField('*');
$sqlQuery->addLeftJoin('Listing', '"ListingCategory_Listings"."ListingID" = "Listing"."ID"');
$sqlQuery->addLeftJoin('SiteTree_Live', '"Listing"."ID" = "SiteTree_Live"."ID"');
$sqlQuery->addLeftJoin('ListingCategory', '"ListingCategory_Listings"."ListingCategoryID" = "ListingCategory"."ID"');
$sqlQuery->addLeftJoin('File', '"ListingCategory"."IconID" = "File"."ID"');$result = $sqlQuery->execute();
//return $result;
//$dataObject = new DataList();
$dataObject = new ArrayList();
foreach($result as $row) {
$dataObject->push(new ArrayData($row));
}
return $dataObject;}
However, this is giving me the error:Uncaught Exception: Object->__call(): the method 'fortemplate' does not exist on 'ArrayList'
What am I doing wrong here and how can I get the result of this query into my template?
-
Re: the method 'fortemplate' does not exist on 'ArrayList'

24 October 2012 at 8:39pm
You can't simply use $Listings since as it says, it hasn't got a clue how to 'output' that to your template.
Make sure you have your template like <% loop $Listings %>..<% end_loop %>
| 407 Views | ||
|
Page:
1
|
Go to Top |


