结束了一个对象,我怎么有这方面的工作?(Ended up with an Object, how d

2019-10-16 13:50发布

在解决我的问题的一部分经过这里 ,我意识到,我可以获取数据到视图,但后来我有另外一个问题。

(控制器)

$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 \字符对象([ID:ORM \ Dynasties2 \性状:私人] => 76 [名:ORM \ Dynasties2 \性状:私人] => Gwayn [whichFamily:ORM \ Dynasties2 \性状:私人] => 12 [ bornDate:ORM \ Dynasties2 \性状:私人] => -467 [deathDate:ORM \ Dynasties2 \性状:私人] => -6 [marriedTo:ORM \ Dynasties2 \性状:私人] => 77 [marriedDate:ORM \ Dynasties2 \性状:私人] => -304 [marriageCode:ORM \ Dynasties2 \字符:私人] => [宗教:ORM \ Dynasties2 \字符:私人] => 0 [isFemale:ORM \ Dynasties2 \字符:私人] => 0 [ betrothedTo:ORM \ Dynasties2 \性状:私人] => [fathersId:ORM \ Dynasties2 \性状:私人] => 0 [successionOrder:ORM \ Dynasties2 \性状:私人] => 0 [isPregnant:ORM \ Dynasties2 \性状:私人] => [pregnantTurnsLeft:ORM \ Dynasties2 \性状:私人] => [marriedOutOfFamily:ORM \ Dynasties2 \性状:私人] => [bornMatrilineal:ORM \ Dynasties2 \性状:私人] =>)

所以...我只是不知道如何使用这个 - 我想一个嵌套的foreach呼应的数据做任何事情,不能得到它的工作。 我期望它,因为这是一个对象 ,而不是一个数组 ,是正确的?

  1. 我究竟如何访问/操纵这些领域?

  2. 是否有不同的代码,我可以在我的Doctrine2 / CodeIgniter2模型中使用,这将使数据更容易字段名称 - 像相当于SQL作为?

Answer 1:

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

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());


文章来源: Ended up with an Object, how do I work with this?