createFindQuery() public method

Creates a select query with all necessary joins to fetch a complete content object. Does not apply any WHERE conditions unless translations are provided, and does not contain name data as it will lead to very large result set {@see \createNamesQuery}.
public createFindQuery ( array $translations = null ) : eZ\Publish\Core\Persistence\Database\SelectQuery
$translations array
return eZ\Publish\Core\Persistence\Database\SelectQuery
 /**
  * Loads data for the latest published version of the content identified by
  * $contentId
  *
  * @param mixed $contentId
  *
  * @return array
  */
 public function loadLatestPublishedData($contentId)
 {
     $query = $this->queryBuilder->createFindQuery();
     $query->where($query->expr->lAnd($query->expr->eq($this->dbHandler->quoteColumn('id', 'ezcontentobject'), $query->bindValue($contentId, null, \PDO::PARAM_INT)), $query->expr->eq($this->dbHandler->quoteColumn('version', 'ezcontentobject_version'), $this->dbHandler->quoteColumn('current_version', 'ezcontentobject'))));
     $statement = $query->prepare();
     $statement->execute();
     return $statement->fetchAll(\PDO::FETCH_ASSOC);
 }
 /**
  * Loads data for a content object.
  *
  * Returns an array with the relevant data.
  *
  * @param mixed $contentId
  * @param mixed $version
  * @param string[] $translations
  *
  * @return array
  */
 public function load($contentId, $version, array $translations = null)
 {
     $query = $this->queryBuilder->createFindQuery($translations);
     $query->where($query->expr->lAnd($query->expr->eq($this->dbHandler->quoteColumn('id', 'ezcontentobject'), $query->bindValue($contentId)), $query->expr->eq($this->dbHandler->quoteColumn('version', 'ezcontentobject_version'), $query->bindValue($version))));
     $statement = $query->prepare();
     $statement->execute();
     return $statement->fetchAll(\PDO::FETCH_ASSOC);
 }
 /**
  * Loads the actual content based on the provided IDs
  *
  * @param array $contentIds
  * @param mixed $translations
  *
  * @return mixed[]
  */
 protected function loadContent(array $contentIds, $translations)
 {
     $loadQuery = $this->queryBuilder->createFindQuery($translations);
     $loadQuery->where($loadQuery->expr->eq('ezcontentobject_version.status', VersionInfo::STATUS_PUBLISHED), $loadQuery->expr->in($this->handler->quoteColumn('id', 'ezcontentobject'), $contentIds));
     $statement = $loadQuery->prepare();
     $statement->execute();
     $rows = $statement->fetchAll(\PDO::FETCH_ASSOC);
     // Sort array, as defined in the $contentIds array
     $contentIdOrder = array_flip($contentIds);
     usort($rows, function ($current, $next) use($contentIdOrder) {
         return $contentIdOrder[$current['ezcontentobject_id']] - $contentIdOrder[$next['ezcontentobject_id']];
     });
     foreach ($rows as &$row) {
         $row['ezcontentobject_always_available'] = $this->languageMaskGenerator->isAlwaysAvailable($row['ezcontentobject_language_mask']);
         $row['ezcontentobject_main_language_code'] = $this->languageHandler->load($row['ezcontentobject_initial_language_id'])->languageCode;
         $row['ezcontentobject_version_languages'] = $this->languageMaskGenerator->extractLanguageIdsFromMask($row['ezcontentobject_version_language_mask']);
         $row['ezcontentobject_version_initial_language_code'] = $this->languageHandler->load($row['ezcontentobject_version_initial_language_id'])->languageCode;
     }
     return $rows;
 }