本文整理匯總了PHP中eZ\Publish\Core\Persistence\Database\DatabaseHandler::useSequences方法的典型用法代碼示例。如果您正苦於以下問題:PHP DatabaseHandler::useSequences方法的具體用法?PHP DatabaseHandler::useSequences怎麽用?PHP DatabaseHandler::useSequences使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類eZ\Publish\Core\Persistence\Database\DatabaseHandler
的用法示例。
在下文中一共展示了DatabaseHandler::useSequences方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: getNextId
/**
* Returns next value for "id" column.
*
* @return mixed
*/
public function getNextId()
{
$sequence = $this->dbHandler->getSequenceName('ezurlalias_ml_incr', 'id');
/** @var $query \eZ\Publish\Core\Persistence\Database\InsertQuery */
$query = $this->dbHandler->createInsertQuery();
$query->insertInto($this->dbHandler->quoteTable("ezurlalias_ml_incr"));
// ezcDatabase does not abstract the "auto increment id"
// INSERT INTO ezurlalias_ml_incr VALUES(DEFAULT) is not an option due
// to this mysql bug: http://bugs.mysql.com/bug.php?id=42270
// as a result we are forced to check which database is currently used
// to generate the correct SQL query
// see https://jira.ez.no/browse/EZP-20652
if ($this->dbHandler->useSequences()) {
$query->set($this->dbHandler->quoteColumn("id"), "nextval('{$sequence}')");
} else {
$query->set($this->dbHandler->quoteColumn("id"), $query->bindValue(null, null, \PDO::PARAM_NULL));
}
$query->prepare()->execute();
return $this->dbHandler->lastInsertId($sequence);
}