Eccubeでdoctrineのselect()で遊んでみた記録です。
OrderにOrderStatusをjoinせずに受注ステータスを取ってみました。
まずは、OrderRepositoryの$qbの用意
$qb = $GLOBALS['kernel']->getContainer()
->get(\Eccube\Repository\OrderRepository::class)
->createQueryBuilder('o');
joinせずに受注ステータスを取ってみた
$qb
->select(
'(SELECT os.name FROM \Eccube\Entity\Master\OrderStatus AS os WHERE os = o.OrderStatus)'
);
$qb->getQuery()->getResult();
select()に入れればなんでもできそうでなかなか面白いです。
*素晴らしいSQLを目指したものではなく、ただの遊びです。