【问题标题】:Symfony not getting relation data in twigSymfony 没有在树枝中获取关系数据
【发布时间】:2017-04-10 06:54:12
【问题描述】:

Symfony 获取关系数据: 我有 ReservedOffer 对象,我得到像 $reservedOffer->getOfferGroup()->getOffer()->getGood() 我想看图片。

但是

$reservedOffer->getOfferGroup()->getOffer()->getGood()->getName() // Sony

如果我写的话在树枝上

reservedOffer.offerGroup.offer.good.name // i get ''

为什么? 有什么想法吗?

【问题讨论】:

  • 您的查询是什么,DQL 或 querybuilder?
  • 嗨@FrankB reservedOffer 是一个控制器动作参数,所以直接获取reservedOffer 对象。
  • 在这种情况下,Symfony 会尝试为您加载 reservedOffer 对象。将对象的 id 作为参数传递然后自己加载可能会更好。如果您不理解我,请向我举个例子

标签: php symfony doctrine-orm symfony-2.8


【解决方案1】:

所以现在我也在选择关联表的数据,我的问题也解决了。 它工作了

public function findReservedOfferWithRelationData(ReservedOffer $reservedOffer)
{
    return $this->createQueryBuilder('reservedOffer')
        ->select('reservedOffer, offerGroup, offer, good')
        ->join('reservedOffer.offerGroup', 'offerGroup')
        ->join('offerGroup.offer', 'offer')
        ->join('offer.good', 'good')
        ->where('reservedOffer.id = :id')
        ->setParameter('id', $reservedOffer->getId())
        ->getQuery()
        ->getOneOrNullResult();
}

【讨论】:

    【解决方案2】:

    尝试将twig的strict_variables设置为true,你会看到错误

    # app/config/config.yml
    twig:
        debug:            true
        strict_variables: true
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-07-30
      • 2021-06-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多