本文整理汇总了PHP中eZ\Publish\Core\Persistence\Database\DatabaseHandler::quoteTable方法的典型用法代码示例。如果您正苦于以下问题:PHP DatabaseHandler::quoteTable方法的具体用法?PHP DatabaseHandler::quoteTable怎么用?PHP DatabaseHandler::quoteTable使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类eZ\Publish\Core\Persistence\Database\DatabaseHandler
的用法示例。
在下文中一共展示了DatabaseHandler::quoteTable方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: init
public function init()
{
$selectQuery = $this->dbHandler->createSelectQuery();
$selectQuery->select('filepath')->from($this->dbHandler->quoteTable('ezimagefile'));
$this->statement = $selectQuery->prepare();
$this->statement->execute();
}
示例2: createVersionInfoFindQuery
/**
* Creates a select query for content version objects
*
* Creates a select query with all necessary joins to fetch a complete
* content object. Does not apply any WHERE conditions.
*
* @return \eZ\Publish\Core\Persistence\Database\SelectQuery
*/
public function createVersionInfoFindQuery()
{
/** @var $query \eZ\Publish\Core\Persistence\Database\SelectQuery */
$query = $this->dbHandler->createSelectQuery();
$query->select($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, 'initial_language_id', 'ezcontentobject_version'), $this->dbHandler->aliasedColumn($query, 'language_mask', 'ezcontentobject_version'), $this->dbHandler->aliasedColumn($query, 'main_node_id', 'ezcontentobject_tree'), $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, 'name', 'ezcontentobject_name'), $this->dbHandler->aliasedColumn($query, 'content_translation', 'ezcontentobject_name'))->from($this->dbHandler->quoteTable('ezcontentobject_version'))->leftJoin($this->dbHandler->quoteTable('ezcontentobject'), $query->expr->eq($this->dbHandler->quoteColumn('id', 'ezcontentobject'), $this->dbHandler->quoteColumn('contentobject_id', 'ezcontentobject_version')))->leftJoin($this->dbHandler->quoteTable('ezcontentobject_tree'), $query->expr->lAnd($query->expr->eq($this->dbHandler->quoteColumn('contentobject_id', 'ezcontentobject_tree'), $this->dbHandler->quoteColumn('contentobject_id', 'ezcontentobject_version')), $query->expr->eq($this->dbHandler->quoteColumn('main_node_id', 'ezcontentobject_tree'), $this->dbHandler->quoteColumn('node_id', 'ezcontentobject_tree'))))->leftJoin($this->dbHandler->quoteTable('ezcontentobject_name'), $query->expr->lAnd($query->expr->eq($this->dbHandler->quoteColumn('contentobject_id', 'ezcontentobject_name'), $this->dbHandler->quoteColumn('contentobject_id', 'ezcontentobject_version')), $query->expr->eq($this->dbHandler->quoteColumn('content_version', 'ezcontentobject_name'), $this->dbHandler->quoteColumn('version', 'ezcontentobject_version'))));
return $query;
}
示例3: getContentLocationIds
/**
* Fetch location Ids for the given content object.
*
* @param int $contentObjectId
* @return array Location nodes Ids
*/
protected function getContentLocationIds($contentObjectId)
{
$query = $this->databaseHandler->createSelectQuery();
$query->select('node_id')->from($this->databaseHandler->quoteTable(self::CONTENTOBJECT_TREE_TABLE))->where($query->expr->eq('contentobject_id', $contentObjectId));
$stmt = $query->prepare();
$stmt->execute();
$nodeIds = $stmt->fetchAll(PDO::FETCH_COLUMN);
return is_array($nodeIds) ? array_map('intval', $nodeIds) : [];
}
示例4: removePolicyLimitations
/**
* Remove all limitations for a policy.
*
* @param mixed $policyId
*/
public function removePolicyLimitations($policyId)
{
$query = $this->handler->createSelectQuery();
$query->select($this->handler->aliasedColumn($query, 'id', 'ezpolicy_limitation'), $this->handler->aliasedColumn($query, 'id', 'ezpolicy_limitation_value'))->from($this->handler->quoteTable('ezpolicy'))->leftJoin($this->handler->quoteTable('ezpolicy_limitation'), $query->expr->eq($this->handler->quoteColumn('policy_id', 'ezpolicy_limitation'), $this->handler->quoteColumn('id', 'ezpolicy')))->leftJoin($this->handler->quoteTable('ezpolicy_limitation_value'), $query->expr->eq($this->handler->quoteColumn('limitation_id', 'ezpolicy_limitation_value'), $this->handler->quoteColumn('id', 'ezpolicy_limitation')))->where($query->expr->eq($this->handler->quoteColumn('id', 'ezpolicy'), $query->bindValue($policyId, null, \PDO::PARAM_INT)));
$statement = $query->prepare();
$statement->execute();
$limitationIdsSet = array();
$limitationValuesSet = array();
while ($row = $statement->fetch(\PDO::FETCH_ASSOC)) {
if ($row['ezpolicy_limitation_id'] !== null) {
$limitationIdsSet[$row['ezpolicy_limitation_id']] = true;
}
if ($row['ezpolicy_limitation_value_id'] !== null) {
$limitationValuesSet[$row['ezpolicy_limitation_value_id']] = true;
}
}
if (!empty($limitationIdsSet)) {
$query = $this->handler->createDeleteQuery();
$query->deleteFrom($this->handler->quoteTable('ezpolicy_limitation'))->where($query->expr->in($this->handler->quoteColumn('id'), array_keys($limitationIdsSet)));
$query->prepare()->execute();
}
if (!empty($limitationValuesSet)) {
$query = $this->handler->createDeleteQuery();
$query->deleteFrom($this->handler->quoteTable('ezpolicy_limitation_value'))->where($query->expr->in($this->handler->quoteColumn('id'), array_keys($limitationValuesSet)));
$query->prepare()->execute();
}
}
示例5: deleteRelation
/**
* Deletes the relation with the given $relationId.
*
* @param int $relationId
* @param int $type {@see \eZ\Publish\API\Repository\Values\Content\Relation::COMMON,
* \eZ\Publish\API\Repository\Values\Content\Relation::EMBED,
* \eZ\Publish\API\Repository\Values\Content\Relation::LINK,
* \eZ\Publish\API\Repository\Values\Content\Relation::FIELD}
*
* @return void
*/
public function deleteRelation($relationId, $type)
{
// Legacy Storage stores COMMON, LINK and EMBED types using bitmask, therefore first load
// existing relation type by given $relationId for comparison
/** @var $query \eZ\Publish\Core\Persistence\Database\SelectQuery */
$query = $this->dbHandler->createSelectQuery();
$query->select($this->dbHandler->quoteColumn("relation_type"))->from($this->dbHandler->quoteTable("ezcontentobject_link"))->where($query->expr->eq($this->dbHandler->quoteColumn("id"), $query->bindValue($relationId, null, \PDO::PARAM_INT)));
$statement = $query->prepare();
$statement->execute();
$loadedRelationType = $statement->fetchColumn();
if (!$loadedRelationType) {
return;
}
// If relation type matches then delete
if ($loadedRelationType == $type) {
/** @var $query \eZ\Publish\Core\Persistence\Database\DeleteQuery */
$query = $this->dbHandler->createDeleteQuery();
$query->deleteFrom("ezcontentobject_link")->where($query->expr->eq($this->dbHandler->quoteColumn("id"), $query->bindValue($relationId, null, \PDO::PARAM_INT)));
$query->prepare()->execute();
} else {
if ($loadedRelationType & $type) {
/** @var $query \eZ\Publish\Core\Persistence\Database\UpdateQuery */
$query = $this->dbHandler->createUpdateQuery();
$query->update($this->dbHandler->quoteTable("ezcontentobject_link"))->set($this->dbHandler->quoteColumn("relation_type"), $query->expr->bitAnd($this->dbHandler->quoteColumn("relation_type"), $query->bindValue(~$type, null, \PDO::PARAM_INT)))->where($query->expr->eq($this->dbHandler->quoteColumn("id"), $query->bindValue($relationId, null, \PDO::PARAM_INT)));
$query->prepare()->execute();
} else {
// No match, do nothing
}
}
}
示例6: getSearchableFieldMapData
/**
* Returns searchable field mapping data
*
* @return array
*/
public function getSearchableFieldMapData()
{
$query = $this->dbHandler->createSelectQuery();
$query->select($this->dbHandler->alias($this->dbHandler->quoteColumn("identifier", "ezcontentclass_attribute"), $this->dbHandler->quoteIdentifier("field_definition_identifier")), $this->dbHandler->alias($this->dbHandler->quoteColumn("identifier", "ezcontentclass"), $this->dbHandler->quoteIdentifier("content_type_identifier")), $this->dbHandler->alias($this->dbHandler->quoteColumn("id", "ezcontentclass_attribute"), $this->dbHandler->quoteIdentifier("field_definition_id")), $this->dbHandler->alias($this->dbHandler->quoteColumn("data_type_string", "ezcontentclass_attribute"), $this->dbHandler->quoteIdentifier("field_type_identifier")))->from($this->dbHandler->quoteTable("ezcontentclass_attribute"))->innerJoin($this->dbHandler->quoteTable("ezcontentclass"), $query->expr->eq($this->dbHandler->quoteColumn("contentclass_id", "ezcontentclass_attribute"), $this->dbHandler->quoteColumn("id", "ezcontentclass")))->where($query->expr->eq($this->dbHandler->quoteColumn("is_searchable", "ezcontentclass_attribute"), $query->bindValue(1, null, PDO::PARAM_INT)));
$statement = $query->prepare($query);
$statement->execute();
return $statement->fetchAll(\PDO::FETCH_ASSOC);
}
示例7: getContentIdsByContentTypeId
/**
* Returns all Content IDs for a given $contentTypeId.
*
* @param int $contentTypeId
*
* @return int[]
*/
public function getContentIdsByContentTypeId($contentTypeId)
{
$query = $this->dbHandler->createSelectQuery();
$query->select($this->dbHandler->quoteColumn('id'))->from($this->dbHandler->quoteTable('ezcontentobject'))->where($query->expr->eq($this->dbHandler->quoteColumn('contentclass_id'), $query->bindValue($contentTypeId, null, PDO::PARAM_INT)));
$statement = $query->prepare();
$statement->execute();
return $statement->fetchAll(PDO::FETCH_COLUMN);
}
示例8: insertTagKeywords
/**
* Inserts keywords for tag with provided tag ID.
*
* @param mixed $tagId
* @param array $keywords
* @param string $mainLanguageCode
* @param bool $alwaysAvailable
*/
protected function insertTagKeywords($tagId, array $keywords, $mainLanguageCode, $alwaysAvailable)
{
foreach ($keywords as $languageCode => $keyword) {
$query = $this->handler->createInsertQuery();
$query->insertInto($this->handler->quoteTable('eztags_keyword'))->set($this->handler->quoteColumn('keyword_id'), $query->bindValue($tagId, null, PDO::PARAM_INT))->set($this->handler->quoteColumn('language_id'), $query->bindValue($this->languageHandler->loadByLanguageCode($languageCode)->id + (int) ($languageCode === $mainLanguageCode && $alwaysAvailable), null, PDO::PARAM_INT))->set($this->handler->quoteColumn('keyword'), $query->bindValue($keyword, null, PDO::PARAM_STR))->set($this->handler->quoteColumn('locale'), $query->bindValue($languageCode, null, PDO::PARAM_STR))->set($this->handler->quoteColumn('status'), $query->bindValue(1, null, PDO::PARAM_INT));
$query->prepare()->execute();
}
}
示例9: getContentInfoList
/**
* Get sorted arrays of content IDs, which should be returned
*
* @param Criterion $filter
* @param array $sort
* @param mixed $offset
* @param mixed $limit
* @param mixed $translations
*
* @return int[]
*/
protected function getContentInfoList( Criterion $filter, $sort, $offset, $limit, $translations )
{
$query = $this->handler->createSelectQuery();
$query->selectDistinct(
'ezcontentobject.*',
$this->handler->aliasedColumn( $query, 'main_node_id', 'main_tree' )
);
if ( $sort !== null )
{
$this->sortClauseConverter->applySelect( $query, $sort );
}
$query->from(
$this->handler->quoteTable( 'ezcontentobject' )
)->innerJoin(
'ezcontentobject_version',
'ezcontentobject.id',
'ezcontentobject_version.contentobject_id'
)->leftJoin(
$this->handler->alias(
$this->handler->quoteTable( 'ezcontentobject_tree' ),
$this->handler->quoteIdentifier( 'main_tree' )
),
$query->expr->lAnd(
$query->expr->eq(
$this->handler->quoteColumn( "contentobject_id", "main_tree" ),
$this->handler->quoteColumn( "id", "ezcontentobject" )
),
$query->expr->eq(
$this->handler->quoteColumn( "main_node_id", "main_tree" ),
$this->handler->quoteColumn( "node_id", "main_tree" )
)
)
);
if ( $sort !== null )
{
$this->sortClauseConverter->applyJoin( $query, $sort );
}
$query->where(
$this->getQueryCondition( $filter, $query, $translations )
);
if ( $sort !== null )
{
$this->sortClauseConverter->applyOrderBy( $query );
}
$query->limit( $limit, $offset );
$statement = $query->prepare();
$statement->execute();
return $statement->fetchAll( \PDO::FETCH_ASSOC );
}
示例10: loadUrlWildcardsData
/**
* Loads an array with data about UrlWildcards (paged).
*
* @param mixed $offset
* @param mixed $limit
*
* @return array
*/
public function loadUrlWildcardsData($offset = 0, $limit = -1)
{
$limit = $limit === -1 ? self::MAX_LIMIT : $limit;
/** @var $query \eZ\Publish\Core\Persistence\Database\SelectQuery */
$query = $this->dbHandler->createSelectQuery();
$query->select('*')->from($this->dbHandler->quoteTable('ezurlwildcard'))->limit($limit > 0 ? $limit : self::MAX_LIMIT, $offset);
$stmt = $query->prepare();
$stmt->execute();
return $stmt->fetchAll(\PDO::FETCH_ASSOC);
}
示例11: getTotalCount
/**
* Returns total results count for $criterion and $sortClauses.
*
* @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion
*
* @return array
*/
protected function getTotalCount(Criterion $criterion)
{
$query = $this->handler->createSelectQuery();
$query->select($query->alias($query->expr->count('*'), 'count'))->from($this->handler->quoteTable('ezcontentobject_tree'))->innerJoin('ezcontentobject', 'ezcontentobject_tree.contentobject_id', 'ezcontentobject.id')->innerJoin('ezcontentobject_version', 'ezcontentobject.id', 'ezcontentobject_version.contentobject_id');
$query->where($this->criteriaConverter->convertCriteria($query, $criterion), $query->expr->eq('ezcontentobject.status', $query->bindValue(1, null, PDO::PARAM_INT)), $query->expr->eq('ezcontentobject_version.status', $query->bindValue(1, null, PDO::PARAM_INT)), $query->expr->neq($this->handler->quoteColumn('depth', 'ezcontentobject_tree'), $query->bindValue(0, null, PDO::PARAM_INT)));
$statement = $query->prepare();
$statement->execute();
$res = $statement->fetchAll(PDO::FETCH_ASSOC);
return (int) $res[0]['count'];
}
示例12: updateWordObjectCount
/**
* Update object count for words (legacy db table: ezsearch_word).
*
* @param array $wordId list of word IDs
* @param array $columns map of columns and values to be updated ([column => value])
*/
private function updateWordObjectCount(array $wordId, array $columns)
{
$query = $this->dbHandler->createUpdateQuery();
$query->update($this->dbHandler->quoteTable('ezsearch_word'));
foreach ($columns as $column => $value) {
$query->set($this->dbHandler->quoteColumn($column), $value);
}
$query->where($query->expr->in($this->dbHandler->quoteColumn('id'), $wordId));
$stmt = $query->prepare();
$stmt->execute();
}
示例13: getRelationXmlHashFromDB
/**
* @param mixed[] $destinationContentIds
*
* @throws \Exception
*
* @return array
*/
protected function getRelationXmlHashFromDB(array $destinationContentIds)
{
if (empty($destinationContentIds)) {
return array();
}
$q = $this->db->createSelectQuery();
$q->select($this->db->aliasedColumn($q, 'id', 'ezcontentobject'), $this->db->aliasedColumn($q, 'remote_id', 'ezcontentobject'), $this->db->aliasedColumn($q, 'current_version', 'ezcontentobject'), $this->db->aliasedColumn($q, 'contentclass_id', 'ezcontentobject'), $this->db->aliasedColumn($q, 'node_id', 'ezcontentobject_tree'), $this->db->aliasedColumn($q, 'parent_node_id', 'ezcontentobject_tree'), $this->db->aliasedColumn($q, 'identifier', 'ezcontentclass'))->from($this->db->quoteTable('ezcontentobject'))->leftJoin($this->db->quoteTable('ezcontentobject_tree'), $q->expr->lAnd($q->expr->eq($this->db->quoteColumn('contentobject_id', 'ezcontentobject_tree'), $this->db->quoteColumn('id', 'ezcontentobject')), $q->expr->eq($this->db->quoteColumn('node_id', 'ezcontentobject_tree'), $this->db->quoteColumn('main_node_id', 'ezcontentobject_tree'))))->leftJoin($this->db->quoteTable('ezcontentclass'), $q->expr->lAnd($q->expr->eq($this->db->quoteColumn('id', 'ezcontentclass'), $this->db->quoteColumn('contentclass_id', 'ezcontentobject')), $q->expr->eq($this->db->quoteColumn('version', 'ezcontentclass'), $q->bindValue(ContentType::STATUS_DEFINED, null, PDO::PARAM_INT))))->where($q->expr->in($this->db->quoteColumn('id', 'ezcontentobject'), $destinationContentIds));
$stmt = $q->prepare();
$stmt->execute();
return $stmt->fetchAll(PDO::FETCH_ASSOC | PDO::FETCH_GROUP);
}
示例14: loadAutogeneratedEntries
/**
* Loads all autogenerated entries with given $parentId with optionally included history entries.
*
* @param mixed $parentId
* @param boolean $includeHistory
*
* @return array
*/
public function loadAutogeneratedEntries($parentId, $includeHistory = false)
{
/** @var $query \eZ\Publish\Core\Persistence\Database\SelectQuery */
$query = $this->dbHandler->createSelectQuery();
$query->select("*")->from($this->dbHandler->quoteTable("ezurlalias_ml"))->where($query->expr->lAnd($query->expr->eq($this->dbHandler->quoteColumn("parent"), $query->bindValue($parentId, null, \PDO::PARAM_INT)), $query->expr->eq($this->dbHandler->quoteColumn("action_type"), $query->bindValue("eznode", null, \PDO::PARAM_STR)), $query->expr->eq($this->dbHandler->quoteColumn("is_alias"), $query->bindValue(0, null, \PDO::PARAM_INT))));
if (!$includeHistory) {
$query->where($query->expr->eq($this->dbHandler->quoteColumn("is_original"), $query->bindValue(1, null, \PDO::PARAM_INT)));
}
$statement = $query->prepare();
$statement->execute();
return $statement->fetchAll(\PDO::FETCH_ASSOC);
}
示例15: getFieldMap
/**
* Returns field mapping data
*
* Returns an associative array with ContentType and FieldDefinition identifiers as
* first and second level keys respectively, and FieldDefinition ID as value.
*
* @return array
*/
public function getFieldMap()
{
$query = $this->dbHandler->createSelectQuery();
$query->select($this->dbHandler->alias($this->dbHandler->quoteColumn("id", "ezcontentclass_attribute"), $this->dbHandler->quoteIdentifier("field_id")), $this->dbHandler->alias($this->dbHandler->quoteColumn("identifier", "ezcontentclass_attribute"), $this->dbHandler->quoteIdentifier("field_identifier")), $this->dbHandler->alias($this->dbHandler->quoteColumn("identifier", "ezcontentclass"), $this->dbHandler->quoteIdentifier("type_identifier")))->from($this->dbHandler->quoteTable("ezcontentclass_attribute"))->innerJoin($this->dbHandler->quoteTable("ezcontentclass"), $query->expr->eq($this->dbHandler->quoteColumn("contentclass_id", "ezcontentclass_attribute"), $this->dbHandler->quoteColumn("id", "ezcontentclass")));
$statement = $query->prepare($query);
$statement->execute();
$map = array();
$rows = $statement->fetchAll(\PDO::FETCH_ASSOC);
foreach ($rows as $row) {
$map[$row["type_identifier"]][$row["field_identifier"]] = $row["field_id"];
}
return $map;
}