public function createFindQuery(array $translations = null)
{
/** @var $query \eZ\Publish\Core\Persistence\Database\SelectQuery */
$query = $this->dbHandler->createSelectQuery();
$query->select($this->dbHandler->aliasedColumn($query, 'id', 'ezcontentobject'), $this->dbHandler->aliasedColumn($query, 'contentclass_id', 'ezcontentobject'), $this->dbHandler->aliasedColumn($query, 'section_id', 'ezcontentobject'), $this->dbHandler->aliasedColumn($query, 'owner_id', 'ezcontentobject'), $this->dbHandler->aliasedColumn($query, 'remote_id', 'ezcontentobject'), $this->dbHandler->aliasedColumn($query, 'current_version', 'ezcontentobject'), $this->dbHandler->aliasedColumn($query, 'initial_language_id', 'ezcontentobject'), $this->dbHandler->aliasedColumn($query, 'modified', 'ezcontentobject'), $this->dbHandler->aliasedColumn($query, 'published', 'ezcontentobject'), $this->dbHandler->aliasedColumn($query, 'status', 'ezcontentobject'), $this->dbHandler->aliasedColumn($query, 'name', 'ezcontentobject'), $this->dbHandler->aliasedColumn($query, 'language_mask', 'ezcontentobject'), $this->dbHandler->aliasedColumn($query, 'id', 'ezcontentobject_version'), $this->dbHandler->aliasedColumn($query, 'version', 'ezcontentobject_version'), $this->dbHandler->aliasedColumn($query, 'modified', 'ezcontentobject_version'), $this->dbHandler->aliasedColumn($query, 'creator_id', 'ezcontentobject_version'), $this->dbHandler->aliasedColumn($query, 'created', 'ezcontentobject_version'), $this->dbHandler->aliasedColumn($query, 'status', 'ezcontentobject_version'), $this->dbHandler->aliasedColumn($query, 'contentobject_id', 'ezcontentobject_version'), $this->dbHandler->aliasedColumn($query, 'language_mask', 'ezcontentobject_version'), $this->dbHandler->aliasedColumn($query, 'initial_language_id', 'ezcontentobject_version'), $this->dbHandler->aliasedColumn($query, 'id', 'ezcontentobject_attribute'), $this->dbHandler->aliasedColumn($query, 'contentclassattribute_id', 'ezcontentobject_attribute'), $this->dbHandler->aliasedColumn($query, 'data_type_string', 'ezcontentobject_attribute'), $this->dbHandler->aliasedColumn($query, 'language_code', 'ezcontentobject_attribute'), $this->dbHandler->aliasedColumn($query, 'language_id', 'ezcontentobject_attribute'), $this->dbHandler->aliasedColumn($query, 'version', 'ezcontentobject_attribute'), $this->dbHandler->aliasedColumn($query, 'data_float', 'ezcontentobject_attribute'), $this->dbHandler->aliasedColumn($query, 'data_int', 'ezcontentobject_attribute'), $this->dbHandler->aliasedColumn($query, 'data_text', 'ezcontentobject_attribute'), $this->dbHandler->aliasedColumn($query, 'sort_key_int', 'ezcontentobject_attribute'), $this->dbHandler->aliasedColumn($query, 'sort_key_string', 'ezcontentobject_attribute'), $this->dbHandler->aliasedColumn($query, 'main_node_id', 'ezcontentobject_tree'))->from($this->dbHandler->quoteTable('ezcontentobject'))->innerJoin($this->dbHandler->quoteTable('ezcontentobject_version'), $query->expr->eq($this->dbHandler->quoteColumn('contentobject_id', 'ezcontentobject_version'), $this->dbHandler->quoteColumn('id', 'ezcontentobject')))->innerJoin($this->dbHandler->quoteTable('ezcontentobject_attribute'), $query->expr->lAnd($query->expr->eq($this->dbHandler->quoteColumn('contentobject_id', 'ezcontentobject_attribute'), $this->dbHandler->quoteColumn('contentobject_id', 'ezcontentobject_version')), $query->expr->eq($this->dbHandler->quoteColumn('version', 'ezcontentobject_attribute'), $this->dbHandler->quoteColumn('version', 'ezcontentobject_version'))))->leftJoin($this->dbHandler->quoteTable('ezcontentobject_tree'), $query->expr->lAnd($query->expr->eq($this->dbHandler->quoteColumn('contentobject_id', 'ezcontentobject_tree'), $this->dbHandler->quoteColumn('id', 'ezcontentobject')), $query->expr->eq($this->dbHandler->quoteColumn('main_node_id', 'ezcontentobject_tree'), $this->dbHandler->quoteColumn('node_id', 'ezcontentobject_tree'))));
if (!empty($translations)) {
$query->where($query->expr->in($this->dbHandler->quoteColumn('language_code', 'ezcontentobject_attribute'), $translations));
}
return $query;
}