Skip to main content

This site requires you to update your browser. Your browsing experience maybe affected by not having the most up to date version.

Data Model Questions /

Get element by DataObject::get ?


Go to End
Reply


2 Posts   1227 Views

Avatar
snaip

Community Member, 180 Posts

7 June 2010 at 8:06pm

Edited: 07/06/2010 8:41pm

hi

simple problem
how to get title from DataObject::get ?

	function a() {
		$x = DataObject::get("SiteTree"); 
		return $x->Title;
	}

doesnt work

EDIT:

	function a() {
		$x = DataObject::get("SiteTree"); 
		foreach($x as $y) {
			echo '<p>' . $y->Title . ' ' . $y->URLSegment . '</p>';
		}
	}

Avatar
Willr

Forum Moderator, 5514 Posts

8 June 2010 at 10:03pm

Explaination - DataObject::get returns a set. When you have a set of objects you can't call methods, fields on the set since they exist on the objects in the set and not the set itself.

DataObject::get('SiteTree'); - returns a set of all SiteTree objects (pages)
DataObject::get_one('SiteTree'); - returns a object - the first SiteTree object
DataObject::get_by_id('SiteTree', $id); - returns a object - the SiteTree object with the ID = $id;

Hope that helps.