本文整理汇总了PHP中Propel::log方法的典型用法代码示例。如果您正苦于以下问题:PHP Propel::log方法的具体用法?PHP Propel::log怎么用?PHP Propel::log使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Propel
的用法示例。
在下文中一共展示了Propel::log方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: init
/**
* Init some properties with the help of outer class
* @param Criteria $criteria The outer class
*/
public function init(Criteria $criteria)
{
// init $this->db
try {
$db = Propel::getDB($criteria->getDbName());
$this->setDB($db);
} catch (Exception $e) {
// we are only doing this to allow easier debugging, so
// no need to throw up the exception, just make note of it.
Propel::log("Could not get a DBAdapter, sql may be wrong", Propel::LOG_ERR);
}
// init $this->realtable
$realtable = $criteria->getTableForAlias($this->table);
$this->realtable = $realtable ? $realtable : $this->table;
}
示例2: doBackupRecord
public static function doBackupRecord(\Criteria $criteria, PropelPDO $con)
{
$db = Propel::getDB($criteria->getDbName());
$dbMap = Propel::getDatabaseMap($criteria->getDbName());
$keys = $criteria->keys();
if (!empty($keys)) {
$tableName = $criteria->getTableName($keys[0]);
} else {
throw new PropelException("Database insert attempted without anything specified to insert");
}
$tableMap = $dbMap->getTable($tableName);
$whereClause = array();
$peer = $tableMap->getPeerClassname();
$versionTable = $peer::$workspaceBehaviorVersionName;
$originTable = $tableMap->getName();
$tables = $criteria->getTablesColumns();
if (empty($tables)) {
throw new \PropelException("Empty Criteria");
}
$fields = array_keys($tableMap->getColumns());
$fields = implode(', ', $fields);
foreach ($tables as $tableName => $columns) {
$whereClause = array();
$params = array();
$stmt = null;
try {
foreach ($columns as $colName) {
$sb = "";
$criteria->getCriterion($colName)->appendPsTo($sb, $params);
$whereClause[] = $sb;
}
$sql = sprintf("INSERT INTO %s (%s) SELECT %s FROM %s WHERE %s", $versionTable, $fields, $fields, $originTable, implode(" AND ", $whereClause));
$stmt = $con->prepare($sql);
$db->bindValues($stmt, $params, $dbMap);
$stmt->execute();
$stmt->closeCursor();
} catch (Exception $e) {
Propel::log($e->getMessage(), Propel::LOG_ERR);
throw new PropelException(sprintf('Unable to execute INSERT INTO statement [%s]', $sql), $e);
}
}
// for each table
}
示例3: Criteria
$criteria = new Criteria(LorfieldsPeer::DATABASE_NAME);
$criteria->add(LorfieldsPeer::ID, $pk);
$v = LorfieldsPeer::doSelect($criteria, $con);
return !empty($v) > 0 ? $v[0] : null;
}
public static function retrieveByPKs($pks, $con = null)
{
if ($con === null) {
$con = Propel::getConnection(self::DATABASE_NAME);
}
$objs = null;
if (empty($pks)) {
$objs = array();
} else {
$criteria = new Criteria();
$criteria->add(LorfieldsPeer::ID, $pks, Criteria::IN);
$objs = LorfieldsPeer::doSelect($criteria, $con);
}
return $objs;
}
}
if (Propel::isInit()) {
try {
BaseLorfieldsPeer::getMapBuilder();
} catch (Exception $e) {
Propel::log('Could not initialize Peer: ' . $e->getMessage(), Propel::LOG_ERR);
}
} else {
require_once 'lib/model/map/LorfieldsMapBuilder.php';
Propel::registerMapBuilder('lib.model.map.LorfieldsMapBuilder');
}
示例4: doInsert
/**
* Insert the row in the database.
*
* @param PropelPDO $con
*
* @throws PropelException
* @see doSave()
*/
protected function doInsert(PropelPDO $con)
{
$modifiedColumns = array();
$index = 0;
$this->modifiedColumns[] = CountryPeer::ID;
if (null !== $this->id) {
throw new PropelException('Cannot insert a value for auto-increment primary key (' . CountryPeer::ID . ')');
}
// check the columns in natural order for more readable SQL queries
if ($this->isColumnModified(CountryPeer::ID)) {
$modifiedColumns[':p' . $index++] = '`ID`';
}
if ($this->isColumnModified(CountryPeer::NAME)) {
$modifiedColumns[':p' . $index++] = '`NAME`';
}
if ($this->isColumnModified(CountryPeer::ISO_CODE)) {
$modifiedColumns[':p' . $index++] = '`ISO_CODE`';
}
if ($this->isColumnModified(CountryPeer::ISO_SHORT_CODE)) {
$modifiedColumns[':p' . $index++] = '`ISO_SHORT_CODE`';
}
if ($this->isColumnModified(CountryPeer::DEMONYM)) {
$modifiedColumns[':p' . $index++] = '`DEMONYM`';
}
if ($this->isColumnModified(CountryPeer::DEFAULT_CURRENCY_ID)) {
$modifiedColumns[':p' . $index++] = '`DEFAULT_CURRENCY_ID`';
}
$sql = sprintf('INSERT INTO `country` (%s) VALUES (%s)', implode(', ', $modifiedColumns), implode(', ', array_keys($modifiedColumns)));
try {
$stmt = $con->prepare($sql);
foreach ($modifiedColumns as $identifier => $columnName) {
switch ($columnName) {
case '`ID`':
$stmt->bindValue($identifier, $this->id, PDO::PARAM_INT);
break;
case '`NAME`':
$stmt->bindValue($identifier, $this->name, PDO::PARAM_STR);
break;
case '`ISO_CODE`':
$stmt->bindValue($identifier, $this->iso_code, PDO::PARAM_STR);
break;
case '`ISO_SHORT_CODE`':
$stmt->bindValue($identifier, $this->iso_short_code, PDO::PARAM_STR);
break;
case '`DEMONYM`':
$stmt->bindValue($identifier, $this->demonym, PDO::PARAM_STR);
break;
case '`DEFAULT_CURRENCY_ID`':
$stmt->bindValue($identifier, $this->default_currency_id, PDO::PARAM_INT);
break;
}
}
$stmt->execute();
} catch (Exception $e) {
Propel::log($e->getMessage(), Propel::LOG_ERR);
throw new PropelException(sprintf('Unable to execute INSERT statement [%s]', $sql), $e);
}
try {
$pk = $con->lastInsertId();
} catch (Exception $e) {
throw new PropelException('Unable to get autoincrement id.', $e);
}
$this->setId($pk);
$this->setNew(false);
}
示例5: doInsert
/**
* Insert the row in the database.
*
* @param PropelPDO $con
*
* @throws PropelException
* @see doSave()
*/
protected function doInsert(PropelPDO $con)
{
$modifiedColumns = array();
$index = 0;
$this->modifiedColumns[] = DetailBarangMasukPeer::ID;
if (null !== $this->id) {
throw new PropelException('Cannot insert a value for auto-increment primary key (' . DetailBarangMasukPeer::ID . ')');
}
// check the columns in natural order for more readable SQL queries
if ($this->isColumnModified(DetailBarangMasukPeer::ID)) {
$modifiedColumns[':p' . $index++] = '`id`';
}
if ($this->isColumnModified(DetailBarangMasukPeer::ID_BARANG_MASUK)) {
$modifiedColumns[':p' . $index++] = '`id_barang_masuk`';
}
if ($this->isColumnModified(DetailBarangMasukPeer::ID_BARANG)) {
$modifiedColumns[':p' . $index++] = '`id_barang`';
}
if ($this->isColumnModified(DetailBarangMasukPeer::HARGA)) {
$modifiedColumns[':p' . $index++] = '`harga`';
}
$sql = sprintf('INSERT INTO `detail_barang_masuk` (%s) VALUES (%s)', implode(', ', $modifiedColumns), implode(', ', array_keys($modifiedColumns)));
try {
$stmt = $con->prepare($sql);
foreach ($modifiedColumns as $identifier => $columnName) {
switch ($columnName) {
case '`id`':
$stmt->bindValue($identifier, $this->id, PDO::PARAM_INT);
break;
case '`id_barang_masuk`':
$stmt->bindValue($identifier, $this->id_barang_masuk, PDO::PARAM_INT);
break;
case '`id_barang`':
$stmt->bindValue($identifier, $this->id_barang, PDO::PARAM_INT);
break;
case '`harga`':
$stmt->bindValue($identifier, $this->harga, PDO::PARAM_INT);
break;
}
}
$stmt->execute();
} catch (Exception $e) {
Propel::log($e->getMessage(), Propel::LOG_ERR);
throw new PropelException(sprintf('Unable to execute INSERT statement [%s]', $sql), $e);
}
try {
$pk = $con->lastInsertId();
} catch (Exception $e) {
throw new PropelException('Unable to get autoincrement id.', $e);
}
$this->setId($pk);
$this->setNew(false);
}
示例6: doInsert
//.........这里部分代码省略.........
}
if ($this->isColumnModified(AidDetailsPeer::AFFICHE_ADRESSE1)) {
$modifiedColumns[':p' . $index++] = 'AFFICHE_ADRESSE1';
}
if ($this->isColumnModified(AidDetailsPeer::EN_CONSTRUCTION)) {
$modifiedColumns[':p' . $index++] = 'EN_CONSTRUCTION';
}
$sql = sprintf(
'INSERT INTO aid (%s) VALUES (%s)',
implode(', ', $modifiedColumns),
implode(', ', array_keys($modifiedColumns))
);
try {
$stmt = $con->prepare($sql);
foreach ($modifiedColumns as $identifier => $columnName) {
switch ($columnName) {
case 'ID':
$stmt->bindValue($identifier, $this->id, PDO::PARAM_STR);
break;
case 'NOM':
$stmt->bindValue($identifier, $this->nom, PDO::PARAM_STR);
break;
case 'NUMERO':
$stmt->bindValue($identifier, $this->numero, PDO::PARAM_STR);
break;
case 'INDICE_AID':
$stmt->bindValue($identifier, $this->indice_aid, PDO::PARAM_INT);
break;
case 'PERSO1':
$stmt->bindValue($identifier, $this->perso1, PDO::PARAM_STR);
break;
case 'PERSO2':
$stmt->bindValue($identifier, $this->perso2, PDO::PARAM_STR);
break;
case 'PERSO3':
$stmt->bindValue($identifier, $this->perso3, PDO::PARAM_STR);
break;
case 'PRODUCTIONS':
$stmt->bindValue($identifier, $this->productions, PDO::PARAM_STR);
break;
case 'RESUME':
$stmt->bindValue($identifier, $this->resume, PDO::PARAM_STR);
break;
case 'FAMILLE':
$stmt->bindValue($identifier, $this->famille, PDO::PARAM_INT);
break;
case 'MOTS_CLES':
$stmt->bindValue($identifier, $this->mots_cles, PDO::PARAM_STR);
break;
case 'ADRESSE1':
$stmt->bindValue($identifier, $this->adresse1, PDO::PARAM_STR);
break;
case 'ADRESSE2':
$stmt->bindValue($identifier, $this->adresse2, PDO::PARAM_STR);
break;
case 'PUBLIC_DESTINATAIRE':
$stmt->bindValue($identifier, $this->public_destinataire, PDO::PARAM_STR);
break;
case 'CONTACTS':
$stmt->bindValue($identifier, $this->contacts, PDO::PARAM_STR);
break;
case 'DIVERS':
$stmt->bindValue($identifier, $this->divers, PDO::PARAM_STR);
break;
case 'MATIERE1':
$stmt->bindValue($identifier, $this->matiere1, PDO::PARAM_STR);
break;
case 'MATIERE2':
$stmt->bindValue($identifier, $this->matiere2, PDO::PARAM_STR);
break;
case 'ELEVE_PEUT_MODIFIER':
$stmt->bindValue($identifier, $this->eleve_peut_modifier, PDO::PARAM_STR);
break;
case 'PROF_PEUT_MODIFIER':
$stmt->bindValue($identifier, $this->prof_peut_modifier, PDO::PARAM_STR);
break;
case 'CPE_PEUT_MODIFIER':
$stmt->bindValue($identifier, $this->cpe_peut_modifier, PDO::PARAM_STR);
break;
case 'FICHE_PUBLIQUE':
$stmt->bindValue($identifier, $this->fiche_publique, PDO::PARAM_STR);
break;
case 'AFFICHE_ADRESSE1':
$stmt->bindValue($identifier, $this->affiche_adresse1, PDO::PARAM_STR);
break;
case 'EN_CONSTRUCTION':
$stmt->bindValue($identifier, $this->en_construction, PDO::PARAM_STR);
break;
}
}
$stmt->execute();
} catch (Exception $e) {
Propel::log($e->getMessage(), Propel::LOG_ERR);
throw new PropelException(sprintf('Unable to execute INSERT statement [%s]', $sql), $e);
}
$this->setNew(false);
}
示例7: doInsert
/**
* Insert the row in the database.
*
* @param PropelPDO $con
*
* @throws PropelException
* @see doSave()
*/
protected function doInsert(PropelPDO $con)
{
$modifiedColumns = array();
$index = 0;
$this->modifiedColumns[] = PlayerPeer::ID;
if (null !== $this->id) {
throw new PropelException('Cannot insert a value for auto-increment primary key (' . PlayerPeer::ID . ')');
}
// check the columns in natural order for more readable SQL queries
if ($this->isColumnModified(PlayerPeer::ID)) {
$modifiedColumns[':p' . $index++] = '`id`';
}
if ($this->isColumnModified(PlayerPeer::LAST_NAME)) {
$modifiedColumns[':p' . $index++] = '`last_name`';
}
if ($this->isColumnModified(PlayerPeer::FIRST_NAME)) {
$modifiedColumns[':p' . $index++] = '`first_name`';
}
if ($this->isColumnModified(PlayerPeer::PHOTO)) {
$modifiedColumns[':p' . $index++] = '`photo`';
}
if ($this->isColumnModified(PlayerPeer::PHONE)) {
$modifiedColumns[':p' . $index++] = '`phone`';
}
if ($this->isColumnModified(PlayerPeer::MOBILE)) {
$modifiedColumns[':p' . $index++] = '`mobile`';
}
if ($this->isColumnModified(PlayerPeer::NOTE)) {
$modifiedColumns[':p' . $index++] = '`note`';
}
$sql = sprintf('INSERT INTO `player` (%s) VALUES (%s)', implode(', ', $modifiedColumns), implode(', ', array_keys($modifiedColumns)));
try {
$stmt = $con->prepare($sql);
foreach ($modifiedColumns as $identifier => $columnName) {
switch ($columnName) {
case '`id`':
$stmt->bindValue($identifier, $this->id, PDO::PARAM_INT);
break;
case '`last_name`':
$stmt->bindValue($identifier, $this->last_name, PDO::PARAM_STR);
break;
case '`first_name`':
$stmt->bindValue($identifier, $this->first_name, PDO::PARAM_STR);
break;
case '`photo`':
$stmt->bindValue($identifier, $this->photo, PDO::PARAM_STR);
break;
case '`phone`':
$stmt->bindValue($identifier, $this->phone, PDO::PARAM_STR);
break;
case '`mobile`':
$stmt->bindValue($identifier, $this->mobile, PDO::PARAM_STR);
break;
case '`note`':
$stmt->bindValue($identifier, $this->note, PDO::PARAM_STR);
break;
}
}
$stmt->execute();
} catch (Exception $e) {
Propel::log($e->getMessage(), Propel::LOG_ERR);
throw new PropelException(sprintf('Unable to execute INSERT statement [%s]', $sql), $e);
}
try {
$pk = $con->lastInsertId();
} catch (Exception $e) {
throw new PropelException('Unable to get autoincrement id.', $e);
}
$this->setId($pk);
$this->setNew(false);
}
示例8: doInsert
/**
* Insert the row in the database.
*
* @param PropelPDO $con
*
* @throws PropelException
* @see doSave()
*/
protected function doInsert(PropelPDO $con)
{
$modifiedColumns = array();
$index = 0;
$this->modifiedColumns[] = ClientePeer::ID;
if (null !== $this->id) {
throw new PropelException('Cannot insert a value for auto-increment primary key (' . ClientePeer::ID . ')');
}
// check the columns in natural order for more readable SQL queries
if ($this->isColumnModified(ClientePeer::ID)) {
$modifiedColumns[':p' . $index++] = '`ID`';
}
if ($this->isColumnModified(ClientePeer::NOMBRE)) {
$modifiedColumns[':p' . $index++] = '`NOMBRE`';
}
if ($this->isColumnModified(ClientePeer::CORREO)) {
$modifiedColumns[':p' . $index++] = '`CORREO`';
}
if ($this->isColumnModified(ClientePeer::DIRECCION)) {
$modifiedColumns[':p' . $index++] = '`DIRECCION`';
}
if ($this->isColumnModified(ClientePeer::TELEFONO)) {
$modifiedColumns[':p' . $index++] = '`TELEFONO`';
}
if ($this->isColumnModified(ClientePeer::CIUDAD)) {
$modifiedColumns[':p' . $index++] = '`CIUDAD`';
}
if ($this->isColumnModified(ClientePeer::OBSERVACION)) {
$modifiedColumns[':p' . $index++] = '`OBSERVACION`';
}
if ($this->isColumnModified(ClientePeer::PUNTOS)) {
$modifiedColumns[':p' . $index++] = '`PUNTOS`';
}
if ($this->isColumnModified(ClientePeer::NIT)) {
$modifiedColumns[':p' . $index++] = '`NIT`';
}
$sql = sprintf('INSERT INTO `cliente` (%s) VALUES (%s)', implode(', ', $modifiedColumns), implode(', ', array_keys($modifiedColumns)));
try {
$stmt = $con->prepare($sql);
foreach ($modifiedColumns as $identifier => $columnName) {
switch ($columnName) {
case '`ID`':
$stmt->bindValue($identifier, $this->id, PDO::PARAM_INT);
break;
case '`NOMBRE`':
$stmt->bindValue($identifier, $this->nombre, PDO::PARAM_STR);
break;
case '`CORREO`':
$stmt->bindValue($identifier, $this->correo, PDO::PARAM_STR);
break;
case '`DIRECCION`':
$stmt->bindValue($identifier, $this->direccion, PDO::PARAM_STR);
break;
case '`TELEFONO`':
$stmt->bindValue($identifier, $this->telefono, PDO::PARAM_STR);
break;
case '`CIUDAD`':
$stmt->bindValue($identifier, $this->ciudad, PDO::PARAM_STR);
break;
case '`OBSERVACION`':
$stmt->bindValue($identifier, $this->observacion, PDO::PARAM_STR);
break;
case '`PUNTOS`':
$stmt->bindValue($identifier, $this->puntos, PDO::PARAM_INT);
break;
case '`NIT`':
$stmt->bindValue($identifier, $this->nit, PDO::PARAM_STR);
break;
}
}
$stmt->execute();
} catch (Exception $e) {
Propel::log($e->getMessage(), Propel::LOG_ERR);
throw new PropelException(sprintf('Unable to execute INSERT statement [%s]', $sql), $e);
}
try {
$pk = $con->lastInsertId();
} catch (Exception $e) {
throw new PropelException('Unable to get autoincrement id.', $e);
}
$this->setId($pk);
$this->setNew(false);
}
示例9: explain
/**
* Make explain plan of the query
*
* @param PropelPDO $con propel connection
* @throws PropelException on error
* @return array array of the explain plan
*/
public function explain($con = null)
{
if ($con === null) {
$con = Propel::getConnection($this->getDbName());
}
$this->basePreSelect($con);
// check that the columns of the main class are already added (if this is the primary ModelCriteria)
if (!$this->hasSelectClause() && !$this->getPrimaryCriteria()) {
$this->addSelfSelectColumns();
}
$this->configureSelectColumns();
$db = Propel::getDB($this->getDbName());
try {
$stmt = $db->doExplainPlan($con, $this);
return $stmt->fetchAll(PDO::FETCH_ASSOC);
} catch (Exception $e) {
Propel::log($e->getMessage(), Propel::LOG_ERR);
throw new PropelException('Unable to execute query explain plan', $e);
}
}
示例10: doInsert
/**
* Insert the row in the database.
*
* @param PropelPDO $con
*
* @throws PropelException
* @see doSave()
*/
protected function doInsert(PropelPDO $con)
{
$modifiedColumns = array();
$index = 0;
$this->modifiedColumns[] = NewsletterPeer::ID;
if (null !== $this->id) {
throw new PropelException('Cannot insert a value for auto-increment primary key (' . NewsletterPeer::ID . ')');
}
// check the columns in natural order for more readable SQL queries
if ($this->isColumnModified(NewsletterPeer::ID)) {
$modifiedColumns[':p' . $index++] = '`id`';
}
if ($this->isColumnModified(NewsletterPeer::SUBJECT)) {
$modifiedColumns[':p' . $index++] = '`subject`';
}
if ($this->isColumnModified(NewsletterPeer::NEWSLETTER_BODY)) {
$modifiedColumns[':p' . $index++] = '`newsletter_body`';
}
if ($this->isColumnModified(NewsletterPeer::LANGUAGE_ID)) {
$modifiedColumns[':p' . $index++] = '`language_id`';
}
if ($this->isColumnModified(NewsletterPeer::IS_APPROVED)) {
$modifiedColumns[':p' . $index++] = '`is_approved`';
}
if ($this->isColumnModified(NewsletterPeer::IS_HTML)) {
$modifiedColumns[':p' . $index++] = '`is_html`';
}
if ($this->isColumnModified(NewsletterPeer::TEMPLATE_NAME)) {
$modifiedColumns[':p' . $index++] = '`template_name`';
}
if ($this->isColumnModified(NewsletterPeer::CREATED_AT)) {
$modifiedColumns[':p' . $index++] = '`created_at`';
}
if ($this->isColumnModified(NewsletterPeer::UPDATED_AT)) {
$modifiedColumns[':p' . $index++] = '`updated_at`';
}
if ($this->isColumnModified(NewsletterPeer::CREATED_BY)) {
$modifiedColumns[':p' . $index++] = '`created_by`';
}
if ($this->isColumnModified(NewsletterPeer::UPDATED_BY)) {
$modifiedColumns[':p' . $index++] = '`updated_by`';
}
$sql = sprintf('INSERT INTO `newsletters` (%s) VALUES (%s)', implode(', ', $modifiedColumns), implode(', ', array_keys($modifiedColumns)));
try {
$stmt = $con->prepare($sql);
foreach ($modifiedColumns as $identifier => $columnName) {
switch ($columnName) {
case '`id`':
$stmt->bindValue($identifier, $this->id, PDO::PARAM_INT);
break;
case '`subject`':
$stmt->bindValue($identifier, $this->subject, PDO::PARAM_STR);
break;
case '`newsletter_body`':
if (is_resource($this->newsletter_body)) {
rewind($this->newsletter_body);
}
$stmt->bindValue($identifier, $this->newsletter_body, PDO::PARAM_LOB);
break;
case '`language_id`':
$stmt->bindValue($identifier, $this->language_id, PDO::PARAM_STR);
break;
case '`is_approved`':
$stmt->bindValue($identifier, (int) $this->is_approved, PDO::PARAM_INT);
break;
case '`is_html`':
$stmt->bindValue($identifier, (int) $this->is_html, PDO::PARAM_INT);
break;
case '`template_name`':
$stmt->bindValue($identifier, $this->template_name, PDO::PARAM_STR);
break;
case '`created_at`':
$stmt->bindValue($identifier, $this->created_at, PDO::PARAM_STR);
break;
case '`updated_at`':
$stmt->bindValue($identifier, $this->updated_at, PDO::PARAM_STR);
break;
case '`created_by`':
$stmt->bindValue($identifier, $this->created_by, PDO::PARAM_INT);
break;
case '`updated_by`':
$stmt->bindValue($identifier, $this->updated_by, PDO::PARAM_INT);
break;
}
}
$stmt->execute();
} catch (Exception $e) {
Propel::log($e->getMessage(), Propel::LOG_ERR);
throw new PropelException(sprintf('Unable to execute INSERT statement [%s]', $sql), $e);
}
try {
$pk = $con->lastInsertId();
//.........这里部分代码省略.........
示例11: getCountStatement
protected function getCountStatement($con = null)
{
$dbMap = Propel::getDatabaseMap($this->getDbName());
$db = Propel::getDB($this->getDbName());
if ($con === null) {
$con = Propel::getConnection($this->getDbName(), Propel::CONNECTION_READ);
}
// check that the columns of the main class are already added (if this is the primary ModelCriteria)
if (!$this->hasSelectClause() && !$this->getPrimaryCriteria()) {
$this->addSelfSelectColumns();
}
$this->configureSelectColumns();
$needsComplexCount = $this->getGroupByColumns() || $this->getOffset() || $this->getLimit() || $this->getHaving() || in_array(Criteria::DISTINCT, $this->getSelectModifiers());
try {
$this->basePreSelect($con);
$params = array();
if ($needsComplexCount) {
if (BasePeer::needsSelectAliases($this)) {
if ($this->getHaving()) {
throw new PropelException('Propel cannot create a COUNT query when using HAVING and duplicate column names in the SELECT part');
}
$db->turnSelectColumnsToAliases($this);
}
$selectSql = BasePeer::createSelectSql($this, $params);
$sql = 'SELECT COUNT(*) FROM (' . $selectSql . ') propelmatch4cnt';
} else {
// Replace SELECT columns with COUNT(*)
$this->clearSelectColumns()->addSelectColumn('COUNT(*)');
$sql = BasePeer::createSelectSql($this, $params);
}
$stmt = $con->prepare($sql);
$db->bindValues($stmt, $params, $dbMap);
$stmt->execute();
} catch (PropelException $e) {
if ($stmt) {
$stmt = null;
// close
}
Propel::log($e->getMessage(), Propel::LOG_ERR);
throw new PropelException(sprintf('Unable to execute COUNT statement [%s]', $sql), $e);
}
return $stmt;
}
示例12: doInsert
//.........这里部分代码省略.........
$modifiedColumns[':p' . $index++] = '`paciente_padre`';
}
if ($this->isColumnModified(PacientePeer::PACIENTE_MADRE)) {
$modifiedColumns[':p' . $index++] = '`paciente_madre`';
}
if ($this->isColumnModified(PacientePeer::PACIENTE_RESPONSABLE)) {
$modifiedColumns[':p' . $index++] = '`paciente_responsable`';
}
if ($this->isColumnModified(PacientePeer::PACIENTE_TELEFONORESPONSABLE)) {
$modifiedColumns[':p' . $index++] = '`paciente_telefonoresponsable`';
}
$sql = sprintf('INSERT INTO `paciente` (%s) VALUES (%s)', implode(', ', $modifiedColumns), implode(', ', array_keys($modifiedColumns)));
try {
$stmt = $con->prepare($sql);
foreach ($modifiedColumns as $identifier => $columnName) {
switch ($columnName) {
case '`idpaciente`':
$stmt->bindValue($identifier, $this->idpaciente, PDO::PARAM_INT);
break;
case '`paciente_nombre`':
$stmt->bindValue($identifier, $this->paciente_nombre, PDO::PARAM_STR);
break;
case '`paciente_ap`':
$stmt->bindValue($identifier, $this->paciente_ap, PDO::PARAM_STR);
break;
case '`paciente_am`':
$stmt->bindValue($identifier, $this->paciente_am, PDO::PARAM_STR);
break;
case '`paciente_calle`':
$stmt->bindValue($identifier, $this->paciente_calle, PDO::PARAM_STR);
break;
case '`paciente_noexterior`':
$stmt->bindValue($identifier, $this->paciente_noexterior, PDO::PARAM_STR);
break;
case '`paciente_nointerior`':
$stmt->bindValue($identifier, $this->paciente_nointerior, PDO::PARAM_STR);
break;
case '`paciente_colonia`':
$stmt->bindValue($identifier, $this->paciente_colonia, PDO::PARAM_STR);
break;
case '`paciente_codigopostal`':
$stmt->bindValue($identifier, $this->paciente_codigopostal, PDO::PARAM_STR);
break;
case '`paciente_ciudad`':
$stmt->bindValue($identifier, $this->paciente_ciudad, PDO::PARAM_STR);
break;
case '`paciente_estado`':
$stmt->bindValue($identifier, $this->paciente_estado, PDO::PARAM_STR);
break;
case '`paciente_pais`':
$stmt->bindValue($identifier, $this->paciente_pais, PDO::PARAM_STR);
break;
case '`paciente_telefono`':
$stmt->bindValue($identifier, $this->paciente_telefono, PDO::PARAM_STR);
break;
case '`paciente_telefonocelular`':
$stmt->bindValue($identifier, $this->paciente_telefonocelular, PDO::PARAM_STR);
break;
case '`paciente_fechanacimiento`':
$stmt->bindValue($identifier, $this->paciente_fechanacimiento, PDO::PARAM_STR);
break;
case '`paciente_sexo`':
$stmt->bindValue($identifier, $this->paciente_sexo, PDO::PARAM_STR);
break;
case '`paciente_estadocivil`':
$stmt->bindValue($identifier, $this->paciente_estadocivil, PDO::PARAM_STR);
break;
case '`paciente_ocupacion`':
$stmt->bindValue($identifier, $this->paciente_ocupacion, PDO::PARAM_STR);
break;
case '`paciente_conyuge`':
$stmt->bindValue($identifier, $this->paciente_conyuge, PDO::PARAM_STR);
break;
case '`paciente_padre`':
$stmt->bindValue($identifier, $this->paciente_padre, PDO::PARAM_STR);
break;
case '`paciente_madre`':
$stmt->bindValue($identifier, $this->paciente_madre, PDO::PARAM_STR);
break;
case '`paciente_responsable`':
$stmt->bindValue($identifier, $this->paciente_responsable, PDO::PARAM_STR);
break;
case '`paciente_telefonoresponsable`':
$stmt->bindValue($identifier, $this->paciente_telefonoresponsable, PDO::PARAM_STR);
break;
}
}
$stmt->execute();
} catch (Exception $e) {
Propel::log($e->getMessage(), Propel::LOG_ERR);
throw new PropelException(sprintf('Unable to execute INSERT statement [%s]', $sql), $e);
}
try {
$pk = $con->lastInsertId();
} catch (Exception $e) {
throw new PropelException('Unable to get autoincrement id.', $e);
}
$this->setIdpaciente($pk);
$this->setNew(false);
}
示例13: doInsert
/**
* Insert the row in the database.
*
* @param PropelPDO $con
*
* @throws PropelException
* @see doSave()
*/
protected function doInsert(PropelPDO $con)
{
$modifiedColumns = array();
$index = 0;
$this->modifiedColumns[] = TipoPeer::IDTIPO;
if (null !== $this->idtipo) {
throw new PropelException('Cannot insert a value for auto-increment primary key (' . TipoPeer::IDTIPO . ')');
}
// check the columns in natural order for more readable SQL queries
if ($this->isColumnModified(TipoPeer::IDTIPO)) {
$modifiedColumns[':p' . $index++] = '`idtipo`';
}
if ($this->isColumnModified(TipoPeer::TIPO_NOMBRE)) {
$modifiedColumns[':p' . $index++] = '`tipo_nombre`';
}
if ($this->isColumnModified(TipoPeer::TIPO_DESCRIPCION)) {
$modifiedColumns[':p' . $index++] = '`tipo_descripcion`';
}
$sql = sprintf('INSERT INTO `tipo` (%s) VALUES (%s)', implode(', ', $modifiedColumns), implode(', ', array_keys($modifiedColumns)));
try {
$stmt = $con->prepare($sql);
foreach ($modifiedColumns as $identifier => $columnName) {
switch ($columnName) {
case '`idtipo`':
$stmt->bindValue($identifier, $this->idtipo, PDO::PARAM_INT);
break;
case '`tipo_nombre`':
$stmt->bindValue($identifier, $this->tipo_nombre, PDO::PARAM_STR);
break;
case '`tipo_descripcion`':
$stmt->bindValue($identifier, $this->tipo_descripcion, PDO::PARAM_STR);
break;
}
}
$stmt->execute();
} catch (Exception $e) {
Propel::log($e->getMessage(), Propel::LOG_ERR);
throw new PropelException(sprintf('Unable to execute INSERT statement [%s]', $sql), $e);
}
try {
$pk = $con->lastInsertId();
} catch (Exception $e) {
throw new PropelException('Unable to get autoincrement id.', $e);
}
$this->setIdtipo($pk);
$this->setNew(false);
}
示例14: getValidator
/**
* This function searches for the given validator $name under propel/validator/$name.php,
* imports and caches it.
*
* @param string $classname The dot-path name of class (e.g. myapp.propel.MyValidator)
* @return Validator object or null if not able to instantiate validator class (and error will be logged in this case)
*/
public static function getValidator($classname)
{
try {
$v = isset(self::$validatorMap[$classname]) ? self::$validatorMap[$classname] : null;
if ($v === null) {
$cls = Propel::importClass($classname);
$v = new $cls();
self::$validatorMap[$classname] = $v;
}
return $v;
} catch (Exception $e) {
Propel::log("BasePeer::getValidator(): failed trying to instantiate " . $classname . ": " . $e->getMessage(), Propel::LOG_ERR);
}
}
示例15: findPkSimple
/**
* Find object by primary key using raw SQL to go fast.
* Bypass doSelect() and the object formatter by using generated code.
*
* @param mixed $key Primary key to use for the query
* @param PropelPDO $con A connection object
*
* @return Proveedor A model object, or null if the key is not found
* @throws PropelException
*/
protected function findPkSimple($key, $con)
{
$sql = 'SELECT `idproveedor`, `proveedor_nombre`, `proveedor_contacto`, `proveedor_direccion`, `proveedor_direccion2`, `proveedor_colonia`, `proveedor_codigopostal`, `proveedor_ciudad`, `proveedor_estado`, `proveedor_pais`, `proveedor_email`, `proveedor_telefono`, `proveedor_telefonocelular`, `proveedor_fax`, `proveedor_rfc` FROM `proveedor` WHERE `idproveedor` = :p0';
try {
$stmt = $con->prepare($sql);
$stmt->bindValue(':p0', $key, PDO::PARAM_INT);
$stmt->execute();
} catch (Exception $e) {
Propel::log($e->getMessage(), Propel::LOG_ERR);
throw new PropelException(sprintf('Unable to execute SELECT statement [%s]', $sql), $e);
}
$obj = null;
if ($row = $stmt->fetch(PDO::FETCH_NUM)) {
$obj = new Proveedor();
$obj->hydrate($row);
ProveedorPeer::addInstanceToPool($obj, (string) $key);
}
$stmt->closeCursor();
return $obj;
}