本文整理匯總了PHP中DboSource::truncate方法的典型用法代碼示例。如果您正苦於以下問題:PHP DboSource::truncate方法的具體用法?PHP DboSource::truncate怎麽用?PHP DboSource::truncate使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類DboSource
的用法示例。
在下文中一共展示了DboSource::truncate方法的5個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: testTruncateStatements
/**
* Test truncate with a mock.
*
* @return void
*/
public function testTruncateStatements() {
$this->loadFixtures('Article', 'User');
$db = ConnectionManager::getDatasource('test');
$schema = $db->config['database'];
$Article = new Article();
$this->Dbo = $this->getMock('Mysql', array('execute'), array($db->config));
$this->Dbo->expects($this->at(0))->method('execute')
->with("TRUNCATE TABLE `$schema`.`articles`");
$this->Dbo->truncate($Article);
$this->Dbo->expects($this->at(0))->method('execute')
->with("TRUNCATE TABLE `$schema`.`articles`");
$this->Dbo->truncate('articles');
// #2355: prevent duplicate prefix
$this->Dbo->config['prefix'] = 'tbl_';
$Article->tablePrefix = 'tbl_';
$this->Dbo->expects($this->at(0))->method('execute')
->with("TRUNCATE TABLE `$schema`.`tbl_articles`");
$this->Dbo->truncate($Article);
$this->Dbo->expects($this->at(0))->method('execute')
->with("TRUNCATE TABLE `$schema`.`tbl_articles`");
$this->Dbo->truncate('articles');
}
示例2: testTruncateStatements
/**
* Test truncate with a mock.
*
* @return void
*/
public function testTruncateStatements()
{
$this->loadFixtures('Article', 'User');
$db = ConnectionManager::getDatasource('test');
$schema = $db->config['schema'];
$Article = new Article();
$this->Dbo = $this->getMock('Postgres', array('execute'), array($db->config));
$this->Dbo->expects($this->at(0))->method('execute')->with("DELETE FROM \"{$schema}\".\"articles\"");
$this->Dbo->truncate($Article);
$this->Dbo->expects($this->at(0))->method('execute')->with("DELETE FROM \"{$schema}\".\"articles\"");
$this->Dbo->truncate('articles');
// #2355: prevent duplicate prefix
$this->Dbo->config['prefix'] = 'tbl_';
$Article->tablePrefix = 'tbl_';
$this->Dbo->expects($this->at(0))->method('execute')->with("DELETE FROM \"{$schema}\".\"tbl_articles\"");
$this->Dbo->truncate($Article);
$this->Dbo->expects($this->at(0))->method('execute')->with("DELETE FROM \"{$schema}\".\"tbl_articles\"");
$this->Dbo->truncate('articles');
}
示例3: truncate
/**
* Deletes all the records in a table and drops all associated auto-increment sequences
*
* @param mixed $table A string or model class representing the table to be truncated
* @param integer $reset If -1, sequences are dropped, if 0 (default), sequences are reset,
* and if 1, sequences are not modified
* @return boolean SQL TRUNCATE TABLE statement, false if not applicable.
* @access public
*/
function truncate($table, $reset = 0)
{
if (parent::truncate($table)) {
$table = $this->fullTableName($table, false);
if (isset($this->_sequenceMap[$table]) && $reset !== 1) {
foreach ($this->_sequenceMap[$table] as $field => $sequence) {
if ($reset === 0) {
$this->execute("ALTER SEQUENCE \"{$sequence}\" RESTART WITH 1");
} elseif ($reset === -1) {
$this->execute("DROP SEQUENCE IF EXISTS \"{$sequence}\"");
}
}
}
return true;
}
return false;
}
示例4: truncate
/**
* Truncates the current fixture. Can be overwritten by classes extending
* CakeFixture to trigger other events before / after truncate.
*
* @param DboSource $db A reference to a db instance
* @return bool
*/
public function truncate($db)
{
$fullDebug = $db->fullDebug;
$db->fullDebug = false;
$return = $db->truncate($this->table);
$db->fullDebug = $fullDebug;
return $return;
}
示例5: truncate
/**
* Deletes all the records in a table and drops all associated auto-increment sequences
*
* @param mixed $table A string or model class representing the table to be truncated
* @param boolean $reset true for resseting the sequence, false to leave it as is.
* and if 1, sequences are not modified
* @return boolean SQL TRUNCATE TABLE statement, false if not applicable.
*/
public function truncate($table, $reset = true)
{
$table = $this->fullTableName($table, false);
if (!isset($this->_sequenceMap[$table])) {
$cache = $this->cacheSources;
$this->cacheSources = false;
$this->describe($table);
$this->cacheSources = $cache;
}
if (parent::truncate($table)) {
if (isset($this->_sequenceMap[$table]) && $reset) {
foreach ($this->_sequenceMap[$table] as $field => $sequence) {
$this->_execute("ALTER SEQUENCE \"{$sequence}\" RESTART WITH 1");
}
}
return true;
}
return false;
}