Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用条令获取的结果:大量未知数据进入其中_Php_Symfony_Doctrine Orm_Var Dump - Fatal编程技术网

Php 使用条令获取的结果:大量未知数据进入其中

Php 使用条令获取的结果:大量未知数据进入其中,php,symfony,doctrine-orm,var-dump,Php,Symfony,Doctrine Orm,Var Dump,我正在用doctrine从数据库中获取一个对象,我想像浏览php数组一样浏览它,这应该是可能的 让我向您展示我的实体: <?php namespace NRtworks\ChartOfAccountsBundle\Entity; use Doctrine\ORM\Mapping as ORM; use Doctrine\Common\Collections\ArrayCollection; /** * @ORM\Entity * @ORM\Table(name="Account"

我正在用doctrine从数据库中获取一个对象,我想像浏览php数组一样浏览它,这应该是可能的

让我向您展示我的实体:

<?php
namespace NRtworks\ChartOfAccountsBundle\Entity;

use Doctrine\ORM\Mapping as ORM;
use Doctrine\Common\Collections\ArrayCollection;


/**
 * @ORM\Entity
 * @ORM\Table(name="Account")
 */

class Account
{
    /**
 * @ORM\Id
 * @ORM\Column(type="integer")
 * @ORM\GeneratedValue(strategy="AUTO")
 */

protected $id;

/**
 * @ORM\Column(type="string", length=100, unique = true)
 */

protected $name;  

 /**
 * @ORM\Column(type="string", length=50)
 */

protected $code;

/**
 * @ORM\OneToMany(targetEntity="Account", mappedBy="parent")
 */

private  $children;

/**
 * @ORM\ManyToOne(targetEntity="Account", inversedBy="children")
 */

private $parent;


public function __construct()
    {
        $this->children = new ArrayCollection();
        $this->parent = new ArrayCollection();

    }

//getter & setter    

?>
有了这个,我就有了我想要的东西。然而,我还有更多的东西,比如Fos_UserBundle,它用于我的用户实体(在另一个捆绑包中),但与我在这里使用的实体帐户无关。查看var_转储结果:

object(NRtworks\ChartOfAccountsBundle\Entity\Account)#408 (5) { ["id":protected]=> int(1) ["name":protected]=> string(5) "BILAN" ["code":protected]=> string(6) "000000" ["children":"NRtworks\ChartOfAccountsBundle\Entity\Account":private]=> object(Doctrine\ORM\PersistentCollection)#409 (9) { ["snapshot":"Doctrine\ORM\PersistentCollection":private]=> array(0) { } ["owner":"Doctrine\ORM\PersistentCollection":private]=> *RECURSION* ["association":"Doctrine\ORM\PersistentCollection":private]=> array(15) { ["fieldName"]=> string(8) "children" ["mappedBy"]=> string(6) "parent" ["targetEntity"]=> string(45) "NRtworks\ChartOfAccountsBundle\Entity\Account" ["cascade"]=> array(0) { } ["orphanRemoval"]=> bool(false) ["fetch"]=> int(2) ["type"]=> int(4) ["inversedBy"]=> NULL ["isOwningSide"]=> bool(false) ["sourceEntity"]=> string(45) "NRtworks\ChartOfAccountsBundle\Entity\Account" ["isCascadeRemove"]=> bool(false) ["isCascadePersist"]=> bool(false) ["isCascadeRefresh"]=> bool(false) ["isCascadeMerge"]=> bool(false) ["isCascadeDetach"]=> bool(false) } ["em":"Doctrine\ORM\PersistentCollection":private]=> object(Doctrine\ORM\EntityManager)#137 (10) { ["config":"Doctrine\ORM\EntityManager":private]=> object(Doctrine\ORM\Configuration)#150 (1) { ["_attributes":protected]=> array(13) { ["entityNamespaces"]=> array(3) { ["NRtworksChartOfAccountsBundle"]=> string(37) "NRtworks\ChartOfAccountsBundle\Entity" ["NRtworksSubscriptionBundle"]=> string(34) "NRtworks\SubscriptionBundle\Entity" ["FOSUserBundle"]=> string(21) "FOS\UserBundle\Entity" } ["metadataCacheImpl"]=> object(Doctrine\Common\Cache\ArrayCache)#159 (3) { ["data":"Doctrine\Common\Cache\ArrayCache":private]=> array(5) { ["DoctrineNamespaceCacheKey[sf2orm_default_3f554f15ae41595a1a142aaf979fc6f613a39d4a606464e7ca2715f45fc7d314]"]=> int(1)        
它一直持续下去,直到我的耐心耗尽

我试着用瓢虫把它扔掉,效果很好,只是我看不到儿童或家长收藏中有什么。 在我的小树枝上,我可以毫无问题地浏览它

但我需要很好地理解结果的结构来重新排序

那么,有人知道这些数据来自何处以及为什么会出现在这里吗?

你看到的“更多的东西”与教义有关。它们实现为(在一个多个和多个关联的实体构造函数中实例化它们)和(从数据库中提取实体时)

尤其是包含了大量需要管理的数据,比如在集合发生变化时跟踪需要向数据库持久化的内容

我真的不明白你想要实现什么:(

如果您正在寻找一种方便的方法来转储实体,请查看

如果要将实体用作数组,可以使用的方法将其作为数组获取。 或者你可以看看约翰·施密特的图书馆

更新


您看到的“Fos\u UserBundle stuff”是
“entityNamespaces”下数组中的一个条目
“FOSUserBundle”=>“Fos\UserBundle\Entity”
。这是集合中元数据的一部分。

好吧,我担心我的结果出了问题。我仍然觉得把FOS用户捆绑到其中很奇怪,但是…实际上,我的问题的底部是如何将我的结果用作数组,显然我不能按原样使用。我会尝试在细枝中对其进行排序。如果效率低下,我会'我将使用您的解决方案之一。谢谢。我已更新了我的答案,以便更清楚地了解FosUserBundle条目。是否可能在构造函数中,我使用条令查询填充数组子项,以获取此父项的所有帐户?是否正确?我不理解以下问题:(您无法在数据库中查询尚未存在的行的子行。如果您愿意看看我新的相关问题:我相信您可以回答,谢谢
object(NRtworks\ChartOfAccountsBundle\Entity\Account)#408 (5) { ["id":protected]=> int(1) ["name":protected]=> string(5) "BILAN" ["code":protected]=> string(6) "000000" ["children":"NRtworks\ChartOfAccountsBundle\Entity\Account":private]=> object(Doctrine\ORM\PersistentCollection)#409 (9) { ["snapshot":"Doctrine\ORM\PersistentCollection":private]=> array(0) { } ["owner":"Doctrine\ORM\PersistentCollection":private]=> *RECURSION* ["association":"Doctrine\ORM\PersistentCollection":private]=> array(15) { ["fieldName"]=> string(8) "children" ["mappedBy"]=> string(6) "parent" ["targetEntity"]=> string(45) "NRtworks\ChartOfAccountsBundle\Entity\Account" ["cascade"]=> array(0) { } ["orphanRemoval"]=> bool(false) ["fetch"]=> int(2) ["type"]=> int(4) ["inversedBy"]=> NULL ["isOwningSide"]=> bool(false) ["sourceEntity"]=> string(45) "NRtworks\ChartOfAccountsBundle\Entity\Account" ["isCascadeRemove"]=> bool(false) ["isCascadePersist"]=> bool(false) ["isCascadeRefresh"]=> bool(false) ["isCascadeMerge"]=> bool(false) ["isCascadeDetach"]=> bool(false) } ["em":"Doctrine\ORM\PersistentCollection":private]=> object(Doctrine\ORM\EntityManager)#137 (10) { ["config":"Doctrine\ORM\EntityManager":private]=> object(Doctrine\ORM\Configuration)#150 (1) { ["_attributes":protected]=> array(13) { ["entityNamespaces"]=> array(3) { ["NRtworksChartOfAccountsBundle"]=> string(37) "NRtworks\ChartOfAccountsBundle\Entity" ["NRtworksSubscriptionBundle"]=> string(34) "NRtworks\SubscriptionBundle\Entity" ["FOSUserBundle"]=> string(21) "FOS\UserBundle\Entity" } ["metadataCacheImpl"]=> object(Doctrine\Common\Cache\ArrayCache)#159 (3) { ["data":"Doctrine\Common\Cache\ArrayCache":private]=> array(5) { ["DoctrineNamespaceCacheKey[sf2orm_default_3f554f15ae41595a1a142aaf979fc6f613a39d4a606464e7ca2715f45fc7d314]"]=> int(1)