я столкнулся некоторые раздражающие проблемы с доктриной 2.Doctrine2 не ленивые нагрузки на 12:59 двунаправленной
У меня есть объект документа и конференц-entitiy.
/**
*
* @author klauss
*
* @ORM\Entity
* @ORM\HasLifecycleCallbacks
*/
class Document
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
public $id;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
public $path;
/**
* @ORM\OneToOne(targetEntity = "Conference", mappedBy = "image")
*/
protected $conference;
/**
* @Assert\File(
* maxSize="4M",
* maxSizeMessage="Allowed maximum size is {{ limit }}"
*)
*/
public $file;
// .....
И Конференция Entity
// .........
/**
* Uploaded image.
*
* @ORM\OneToOne(targetEntity = "Document", inversedBy = "conference")
* @ORM\JoinColumn(name = "image", nullable = true, referencedColumnName = "id")
*/
protected $image;
// ............
Так в шаблоне Twig Я хотел бы сделать следующее:
{{ conference.image.path }}
Но это просто не загружает изображение, я всегда необходимо позвонить по телефону
$conference->getImage()->getPath();
в PHP, чтобы получить правильный путь в Twig. Но разве это не должно быть одинаково? Если я не назову его в PHP, вызов Twig просто возвращает пустую строку
Как я могу достичь этой Доктрины, которая автоматически осознает отношение документа?
Try '{{conference.getImage.getPath}}' в Twig просто чтобы быть уверенным, что вызывает добытчиками, как это должно быть. Вы также можете выполнить поиск в 'app/dev/cache' для имени вызывающего шаблона (что-то вроде поиска' AcmeBundle: Conference: view.html.twig') и проверить полученный код шаблона, связанный с вашим шаблоном Twig, чтобы увидеть, как он вызывает ваш объект. – Matt