arch-8.x-1.x-dev/modules/product/src/Plugin/views/argument/UidRevision.php
modules/product/src/Plugin/views/argument/UidRevision.php
<?php
namespace Drupal\arch_product\Plugin\views\argument;
use Drupal\user\Plugin\views\argument\Uid;
/**
* Product owner filter.
*
* Filter handler to accept a user id to check for products that
* user posted or created a revision on.
*
* @ViewsArgument("product_uid_revision")
*/
class UidRevision extends Uid {
/**
* {@inheritdoc}
*/
public function query($group_by = FALSE) {
$this->ensureMyTable();
$placeholder = $this->placeholder();
$this->query->addWhereExpression(0, "{$this->tableAlias}.uid = {$placeholder} OR ((SELECT COUNT(DISTINCT vid) FROM {arch_product_revision} pr WHERE pr.revision_uid = {$placeholder} AND pr.pid = $this->tableAlias.pid) > 0)", [$placeholder => $this->argument]);
}
}
