2012-04-10 42 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

相關問題