Proxies对象而不是Doctrine中的Entity

时间:2017-09-10 23:08:27

标签: php symfony doctrine-orm

我使用的是Doctrine和Symfony,我遇到了一个问题。而不是AppBundle\Entity\Item我得到了`Proxies__CG __ \ AppBundle \ Entity \ Item。所有数据= null。

$test = $em->getRepository(Entity\Item::class)->find(159);
var_dump($test); exit;

我应该改变什么?

object(Proxies\__CG__\AppBundle\Entity\Item)[5348]
  public '__initializer__' => 
    object(Closure)[5237]
  public '__cloner__' => 
    object(Closure)[5802]
  public '__isInitialized__' => boolean false
  private 'id' (AppBundle\Entity\Item) => int 159
  private 'name' (AppBundle\Entity\Item) => null
  private 'slug' (AppBundle\Entity\Item) => null
  private 'description' (AppBundle\Entity\Item) => null
  private 'price' (AppBundle\Entity\Item) => null
  private 'isFixedPrice' (AppBundle\Entity\Item) => null
  private 'isExchangable' (AppBundle\Entity\Item) => null
  private 'isDeliverable' (AppBundle\Entity\Item) => null
  private 'totalViewsCount' (AppBundle\Entity\Item) => null
  private 'condition' (AppBundle\Entity\Item) => null
  private 'soldAt' (AppBundle\Entity\Item) => null
  private 'category' (AppBundle\Entity\Item) => null
  private 'user' (AppBundle\Entity\Item) => null
  private 'attributes' (AppBundle\Entity\Item) => null
  private 'pics' (AppBundle\Entity\Item) => null
  protected 'createdAt' => null
  protected 'updatedAt' => null
  protected 'deletedAt' => null

我必须得到$ test-> getItem() - > getSlug()。在数据库中,具有此ID的项目存在。

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。前一个开发使用@Gedmo \ SoftDeleteable(fieldName =" deletedAt",timeAware = true) 所以有些行在数据库中有deleted_at值。这是他们没有返回任何数据的方式。