私はドクトリン2で厄介な問題に直面しています。
ドキュメント エンティティと会議エンティティがあります。
/**
*
* @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;
// .....
そして会議エンティティ
// .........
/**
* 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 呼び出しは空の文字列を返すだけです。
Doctrine が Document 関係を自動的に認識できるようにするにはどうすればよいですか?