Blog

I recently needed the ability to perform a RIGHT JOIN in a Symfony project. While Doctrine's DBAL library seems to support this, the ORM's QueryBuilder does not. Unfortunately, the suggested workaround of inverting the query wouldn't work in my situation. I also didn't feel like rewriting the query into DQL, so I ultimately hacked in my own support by duplicating the LEFT JOIN functionality. I figured I'd share my patch in case it helps others facing a similar issue.

 

PHPUnicorn

For Pi Day 2017 I created a really fun project - the PHPUnicorn!

A simple PHPUnit listener collects test results and sends them to a Raspberry Pi Zero Wireless device in real-time.  As the device receives the stats it lights up LEDs green, red, or orange to visualize the progress and results of your unit tests.

 

TIL that Doctrine 2 doesn't support LIMITs within subqueries which can be frustrating. In my case, I wanted to LEFT JOIN on a table using a subquery with a single result - something like this:

$dqb->from('MyAppBundle:Foo', 'foo')
    ->leftJoin('foo.bar', 'bar', 'WITH', 'bar = (SELECT b FROM MyAppBundle:Bar b WHERE b.foo = foo AND b.published_date >= :now ORDER BY t.startDate LIMIT 1)');

But Doctrine kept throwing this error:

 

Installing PHP 7.0

Installing PHP 7.0 is easier than ever.  Here are instructions for installing the latest version on different platforms:

PHP 5.x Conflicts

You may encounter conflicts if you already have PHP 5.x installed. If so, make sure to completely remove PHP 5.x from your system before installing 7.0. On Ubuntu, this is as simple as running: sudo apt-get purge php5-*.