我有项目用 " 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也许这个信息帮助
我在调试面板中添加了一些屏幕,这可能是诊断问题的帮助 link,link,link,link。请帮助,也许有些人有这个问题?