I am trying to retrieve a variable in the Drupal Module Viewsphp but my problem is really just accessing nested elements in stdclass object.
print_r($data->node_created); // gives correct value 1477420603
returns nothing should be 31
What am I doing wrong ?
Here is an extract of the data returned:
[node_title] => Denver
[nid] => 31
**[node_created] => 1477420603**
[field_data_body_node_entity_type] => node
[field_data_field_colour_node_entity_type] => node
[field_data_field_type_node_entity_type] => node
[_field_data] => Array
[nid] => Array
[entity_type] => node
[entity] => stdClass Object
**[vid] => 31**
[uid] => 1
[title] => Denver
[status] => 1
[comment] => 2
[promote] => 1
[sticky] => 0
[nid] => 31
[type] => test1
[language] => und
You are using an object at first use the object operator
->. This is how you access attributes or methods of an object. This will return the value of that operation.
//This is accessing the array stored in _field_data $data->_field_data; //Since that is an array now you have to access //the data in it with the indexes of the array $data->_field_data['nid']['entity'];
Notice though that in your output
[entity] => stdClass Object entity is back to an object so you need to go back to the
//Full access $data->_field_data['nid']['entity']->vid;
Normally objects have accessors or getter methods ie getVid() methods. Not sure if that is the case here but it you could then access data like
$data->getVid(); which is a lot simpler and can protect your code down the road if the underlying api changes. Worth looking into the docs or code for.