1

ここで私の問題の一部を解決した後、データをビューに入れることができることに気付きましたが、別の問題がありました。

(コントローラ)

$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 [is Female: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を試しましたが、機能しませんでした。これはArrayではなくObjectであるためだと思いますが、それは正しいですか?

  1. これらのフィールドにアクセス/操作するにはどうすればよいですか?

  2. Doctrine2/CodeIgniter2 モデルで使用できる、データに簡単なフィールド名を付ける別のコードはありますか? SQL AS と同等のものはありますか?

4

1 に答える 1

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());
于 2012-04-10T17:43:04.130 に答える