/** * Override ensureMyTable so we can control how this joins in. * The operator actually has influence over joining. */ public function ensureMyTable() { // Defer to helper if the operator specifies it. $info = $this->operators(); if (isset($info[$this->operator]['ensure_my_table']) && $info[$this->operator]['ensure_my_table'] == 'helper') { return $this->helper->ensureMyTable(); } return parent::ensureMyTable(); }