2012-04-10 8 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モデルでは、データに簡単なフィールド名を与えるためのコードがありますか?あなたがそうのように、ポインタをオブジェクトにアクセスすることができるはず

答えて

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

+0

ええと、$ row-> getId()を試してみましたか? –

+0

完璧!ありがとう! – jeremy