KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I am having a hard time finding the correct result for this. I have one to one mapping. There are two tables: /** * @ORM\Table(name="users") * @ORM\Entity */ class Users { /** * @ORM\OneToOne(targetEntity="UsersSettings", mappedBy="user",cascade={"persist"}) */ private $userSetting; //getters and setters } /** * @ORM\Table(name="notifications_settings") * @ORM\Entity */ class UsersSettings { /** * @var Users * * @ORM\OneToOne(targetEntity="Users", inversedBy="userSetting") * @ORM\JoinColumns({ * @ORM\JoinColumn(name="user_id", referencedColumnName="id") * }) */ private $user; } Whenever I fetch entity one as below: $q = $this ->createQueryBuilder('u') ->select('u, r') ->leftJoin('u.roles', 'r') ->where('u.username = :username OR u.email = :email') ->setParameter('username', $username) ->setParameter('email', $username) ->getQuery(); Doctrine immediately performs join to usersSettings entity which I dont want: SELECT t0.id AS id1, t0.username AS username2, t0.email AS email3, t0.password AS password4, t29.id AS id30, t29.is_notify_by_email AS is_notify_by_email31, t29.user_id AS user_id32 FROM users t0 LEFT JOIN users_settings t29 ON t29.user_id = t0.id WHERE t0.id = ? Other types of mapping like OneToMany and ManyToOne performs lazy loading but in case of one to one mapping, I could not configure to lazy load. How can I lazy load this relation? I am using doctrine 2.3 and Symfony 2.1
Tags (comma-separated)
Save Edits
Cancel