2012-04-10 46 views
1

在解决了我的部分问题here之后,我意识到我可以将数据导入视图中,但后来出现了另一个问题。结束了一个对象,我该如何处理?

(控制器)

$this->load->model('testing/test_v_to_m_model'); 
$data['mydata'] = $this->test_v_to_m_model->display_character_info(); 
$this->load->view('testing/test_v_to_m_view', $data); 

(模型)

$query = $this->doctrine->em->createQuery("select u from ORM\Dynasties2\Characters u"); 
return $query->getResult(); 

(视图)

foreach ($mydata as $key => $row) { 
    print_r($row); 
} 

这将返回输出像这样:

ORM\Dynasties2\Characters Object ([id:ORM\Dynasties2\Characters:private] => 76 [name:ORM\Dynasties2\Characters:private] => Gwayn [whichFamily:ORM\Dynasties2\Characters:private] => 12 [bornDate:ORM\Dynasties2\Characters:private] => -467 [deathDate:ORM\Dynasties2\Characters:private] => -6 [marriedTo:ORM\Dynasties2\Characters:private] => 77 [marriedDate:ORM\Dynasties2\Characters:private] => -304 [marriageCode:ORM\Dynasties2\Characters:private] => [religion:ORM\Dynasties2\Characters:private] => 0 [isFemale:ORM\Dynasties2\Characters:private] => 0 [betrothedTo:ORM\Dynasties2\Characters:private] => [fathersId:ORM\Dynasties2\Characters:private] => 0 [successionOrder:ORM\Dynasties2\Characters:private] => 0 [isPregnant:ORM\Dynasties2\Characters:private] => [pregnantTurnsLeft:ORM\Dynasties2\Characters:private] => [marriedOutOfFamily:ORM\Dynasties2\Characters:private] => [bornMatrilineal:ORM\Dynasties2\Characters:private] =>)

所以......我只是不知道该怎么做 - 我尝试了一个嵌套的foreach来回显数据,但无法使其工作。我期望它是因为这是一个对象,而不是数组,这是否正确?

  1. 我该如何访问/操作这些字段?

  2. 是否有不同的代码,我可以在我的Doctrine2/CodeIgniter2模型中使用,这将使数据更简单的字段名称 - 就像等同于SQL AS?

回答

0

你应该能够与指针访问对象,像这样:

foreach ($mydata as $key => $row) { 
    echo($row->id); 
    echo($row->name); 
} 

stdClass是PHP的通用空类。下面是使用提供了很好的教程:http://krisjordan.com/dynamic-properties-in-php-with-stdclass

编辑:

尝试使用访问:

echo($row->getId()); 
+0

致命错误:无法访问私有财产ORM \ Dynasties2 \字符:: $名称是否有哄骗访问“私人”财产,或改变它? – jeremy 2012-04-10 17:49:56

+0

嗯,你有没有试过$ row-> getId()? – 2012-04-10 18:01:38

+0

完美!谢谢! – jeremy 2012-04-10 18:08:29

相关问题