Le mélange LEFT JOIN résultats MySQL Doctrine

J'ai une doctrine basée demande où je veux sélectionner des lignes de deux tables distinctes, et de les trier par date de création. Je suis (un peu) l'accomplissement de cette façon dès maintenant:

$query = $em->createQueryBuilder()
  ->from('Embed', 'e')
  ->select("e")
  ->leftJoin("User", "u", "WITH", "e.uid=u.id")
  ->leftJoin("Product", "p", "WITH", "e.pid=p.id")
  ->where("u.image > 0 OR p.image > 0")
  ->addOrderBy("u.timeCreated + p.timeCreated", "DESC")
  ->setMaxResults(28)
  ->getQuery();

Je voudrais pour le produit et les données de l'utilisateur à être mélangés, classées par ordre de date de création, mais la commande est incorrecte. J'ai aussi essayé d'utiliser deux addOrderBy états, qui ordonne les utilisateurs et les produits correctement, mais met tous les utilisateurs en premier dans les résultats, plutôt que de les mélanger.

EDIT: Monsieur Rufo a l'approche correcte - voici le code de travail:

$query = $em->createQueryBuilder()
  ->from('Embed', 'e')
  ->select("e")
  ->leftJoin("User", "u", "WITH", "e.uid=u.id")
  ->leftJoin("Product", "p", "WITH", "e.pid=p.id")
  ->addSelect('COALESCE( u.timeCreated, p.timeCreated ) as timeCreated')
  ->where("u.image > 0 OR p.image > 0")
  ->orderBy("timeCreated", "DESC")
  ->setMaxResults(28)
  ->getQuery();