Symfony не получает данные об отношениях в ветке

Symfony получает реляционные данные: у меня есть объект ReservedOffer, и я получаю такие значения, как $reservedOffer->getOfferGroup()->getOffer()->getGood(), я получаю как см. изображение. введите здесь описание изображения

Но

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

но в ветке если я напишу

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

Почему? Есть идеи?


person Apoorva Shah    schedule 10.04.2017    source источник
comment
какой у вас запрос, DQL или построитель запросов?   -  person Frank B    schedule 10.04.2017
comment
Привет, @FrankB reservedOffer — это параметр действия контроллера, поэтому получите напрямую объект зарезервированного предложения.   -  person Apoorva Shah    schedule 10.04.2017
comment
В этом случае Symfony попытается загрузить зарезервированный объектOffer для вас. Возможно, лучше передать идентификатор объекта в качестве параметра, а затем загрузить его самостоятельно. Если вы меня не понимаете, то спросите у меня пример   -  person Frank B    schedule 10.04.2017


Ответы (2)


Итак, теперь я также выбираю данные связанных таблиц, и моя проблема решается. Это сработало

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();
}
person Apoorva Shah    schedule 10.04.2017

Попробуйте установить ветку strict_variables на true, и вы увидите ошибку

# app/config/config.yml
twig:
    debug:            true
    strict_variables: true
person mochalygin    schedule 10.04.2017