{"id":50,"date":"2018-02-04T12:15:05","date_gmt":"2018-02-04T04:15:05","guid":{"rendered":"http:\/\/heoffice.com\/?p=50"},"modified":"2018-02-04T12:16:57","modified_gmt":"2018-02-04T04:16:57","slug":"doctrine-createquerybuilder-count-and-not-exists","status":"publish","type":"post","link":"https:\/\/heoffice.com\/?p=50","title":{"rendered":"doctrine createQueryBuilder count and not exists"},"content":{"rendered":"<pre><code class=\"php\">    $qb = $this-&gt;o-&gt;createQueryBuilder('o');\n\n        $sub = $this-&gt;em-&gt;createQueryBuilder();\n        $sub-&gt;select(\"o.id\");   \/\/notice this : cause e.offer is foreign key of o.id\n        $sub-&gt;from(ExcludedByOffer::class, \"e\");\n        $sub-&gt;andWhere('e.offer = o.id') \n            -&gt;andWhere('e.aff = :aff');\n\n\n        $qb-&gt;select('count(o.id)')\n            -&gt;where('o.adv=:adv') \n            -&gt;andWhere($qb-&gt;expr()-&gt;not($qb-&gt;expr()-&gt;exists($sub-&gt;getDQL())))\n            -&gt;setParameters(['adv'     =&gt; $adv,\n                             'aff'      =&gt; $aff  \n            ]);\n        return $qb-&gt;getQuery()-&gt;getSingleScalarResult();\n<\/code><\/pre>\n<p>\u53c2\u8003<\/p>\n<p>https:\/\/stackoverflow.com\/questions\/31536137\/doctrine-not-exists-subquery\/31536545<br \/>\nhttps:\/\/stackoverflow.com\/questions\/9214471\/count-rows-in-doctrine-querybuilder<\/p>\n","protected":false},"excerpt":{"rendered":"<p>$qb = $this-&gt;o-&gt;createQueryBuilder(&#8216;o&#8217;); $sub = $&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[11,1],"tags":[],"class_list":["post-50","post","type-post","status-publish","format-standard","hentry","category-doctine","category-web"],"acf":[],"_links":{"self":[{"href":"https:\/\/heoffice.com\/index.php?rest_route=\/wp\/v2\/posts\/50","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/heoffice.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/heoffice.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/heoffice.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/heoffice.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=50"}],"version-history":[{"count":1,"href":"https:\/\/heoffice.com\/index.php?rest_route=\/wp\/v2\/posts\/50\/revisions"}],"predecessor-version":[{"id":51,"href":"https:\/\/heoffice.com\/index.php?rest_route=\/wp\/v2\/posts\/50\/revisions\/51"}],"wp:attachment":[{"href":"https:\/\/heoffice.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=50"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/heoffice.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=50"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/heoffice.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=50"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}