Symfony慢下载页面

时间:2015-09-02 19:04:39

标签: php symfony doctrine-orm

我有项目用         " php":"> = 5.3.3",         " symfony / symfony":" 2.6.11", 当我打开页面所有实体(在我的情况下开发人员)我使用标准学说fincrion

$all_developer = $this->getDoctrine()->getRepository('ArtelProfileBundle:Developer')->findAll();
    public function findAll()
{
    return $this->findBy(array(), array('id' => 'ASC'));
}

我等待4分钟打开页面,在调试面板中我看到下载103mb o_O这是近4000个实体

更新 我安装了DebeshaDoctrineProfileExtraBundle,我看到我的实体开发人员在这个表中加载表TalentFiles我有文件doc docx pdf当我找到所有开发者时如何禁用这个表?

1   10.54 ms    1   SimpleObjectHydrator    

r => Artel\ProfileBundle\Entity\Users

2   63.57 ms    100     ObjectHydrator  

r => Artel\ProfileBundle\Entity\Developer
e0 => Artel\ProfileBundle\Entity\TalentFiles

我只能看到有关系的字段,因为我觉得这可能是下载的问题,当我发现开发者教条找到关系中的实体时。如何排除所有关系并找到没有此字段的所有实体(谁有关系)如果使用Query Builder如何排除??? 这是我的实体:

    public function getDevelopers()
{

    $qb = $this->getEntityManager()->createQueryBuilder('d');

    $qb
        ->select('d')
        ->from('ArtelProfileBundle:Developer', 'd')
        //how to exclude???

        ->getQuery();
    $query = $qb->getQuery();
    $results = $query->getResult();

    return $results;
}

实体开发人员和关系

/**
 * Developers
 *
 * @ORM\Table(name="developers")
 * @ORM\Entity(repositoryClass="Artel\ProfileBundle\Entity\DeveloperRepository")
 */
 class Developer extends CustomUser
 {
///////////other field, I visible for you only field with relation ship

/**
 * @ORM\OneToOne(targetEntity="TalentFiles", mappedBy="developer", cascade={"persist"})
 */
protected $talent_file;

/**
 * @ORM\OneToMany(targetEntity="CodeUserReference", mappedBy="developer", cascade={"persist", "remove"})
 */
protected $reference_developer;

/**
 * @ORM\OneToMany(targetEntity="CodeProjectNotificationLater", mappedBy="developer", cascade={"persist", "remove"})
 */
public $notification_later;

/**
 * @ORM\ManyToOne(targetEntity="Teams", inversedBy="developers")
 * @ORM\JoinColumn(name="team_id", nullable = true, referencedColumnName="id")
 * */
protected $teams;

/**
 * @ORM\OneToMany(targetEntity="CodeTalentsProjects", mappedBy="authorId", cascade={"persist"})
 */
protected $projects;

/**
 * @ORM\OneToMany(targetEntity="Comments", mappedBy="talent", orphanRemoval=true)
 */
public $comment;

/**
 * @ORM\ManyToOne(targetEntity="Artel\ProfileBundle\Entity\Users", inversedBy="add_developer")
 */
protected $added_by;

还有一些有趣的 - 当我用第一页打开主页时,这个页面有另一个动作的路由和实体管理员的一些信息,所有,没有任何实体我等待15 - 40秒和下载15-28mb o_0

在前端我使用metronic admin bundle也许这个信息帮助

我在调试面板中添加了一些屏幕,这可能是诊断问题的帮助 linklinklinklink。请帮助,也许有些人有这个问题?

0 个答案:

没有答案