本文整理汇总了PHP中Illuminate\Database\Connection::getPdo方法的典型用法代码示例。如果您正苦于以下问题:PHP Connection::getPdo方法的具体用法?PHP Connection::getPdo怎么用?PHP Connection::getPdo使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Illuminate\Database\Connection
的用法示例。
在下文中一共展示了Connection::getPdo方法的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: addQuery
/**
*
* @param string $query
* @param array $bindings
* @param float $time
* @param \Illuminate\Database\Connection $connection
*/
public function addQuery($query, $bindings, $time, $connection)
{
$time = $time / 1000;
$endTime = microtime(true);
$startTime = $endTime - $time;
$pdo = $connection->getPdo();
$bindings = $connection->prepareBindings($bindings);
$bindings = $this->checkBindings($bindings);
if (!empty($bindings) && $this->renderSqlWithParams) {
foreach ($bindings as $binding) {
$query = preg_replace('/\\?/', $pdo->quote($binding), $query, 1);
}
}
$source = null;
if ($this->findSource) {
try {
$source = $this->findSource();
} catch (\Exception $e) {
}
}
$this->queries[] = array('query' => $query, 'bindings' => $bindings, 'time' => $time, 'source' => $source);
if ($this->timeCollector !== null) {
$this->timeCollector->addMeasure($query, $startTime, $endTime);
}
}
示例2: addQuery
/**
*
* @param string $query
* @param array $bindings
* @param float $time
* @param \Illuminate\Database\Connection $connection
*/
public function addQuery($query, $bindings, $time, $connection)
{
$explainResults = array();
$time = $time / 1000;
$endTime = microtime(true);
$startTime = $endTime - $time;
$hints = $this->performQueryAnalysis($query);
$pdo = $connection->getPdo();
$bindings = $connection->prepareBindings($bindings);
// Run EXPLAIN on this query (if needed)
if ($this->explainQuery && preg_match('/^(' . implode($this->explainTypes) . ') /i', $query)) {
$statement = $pdo->prepare('EXPLAIN ' . $query);
$statement->execute($bindings);
$explainResults = $statement->fetchAll(\PDO::FETCH_CLASS);
}
$bindings = $this->checkBindings($bindings);
if (!empty($bindings) && $this->renderSqlWithParams) {
foreach ($bindings as $binding) {
$query = preg_replace('/\\?/', $pdo->quote($binding), $query, 1);
}
}
$source = null;
if ($this->findSource) {
try {
$source = $this->findSource();
} catch (\Exception $e) {
}
}
$this->queries[] = array('query' => $query, 'bindings' => $this->escapeBindings($bindings), 'time' => $time, 'source' => $source, 'explain' => $explainResults, 'hints' => $hints);
if ($this->timeCollector !== null) {
$this->timeCollector->addMeasure($query, $startTime, $endTime);
}
}
示例3: ensureTransaction
/**
* Enures the given closur is executed within a PDO transaction.
*
* @param Closure $callback
* @return void
*/
public function ensureTransaction(Closure $callback)
{
if (!$this->connection->getPdo()->inTransaction()) {
$this->connection->transaction($callback);
} else {
$callback($this->connection);
}
}
示例4: addQuery
/**
*
* @param string $query
* @param array $bindings
* @param float $time
* @param \Illuminate\Database\Connection $connection
*/
public function addQuery($query, $bindings, $time, $connection)
{
$explainResults = [];
$time = $time / 1000;
$endTime = microtime(true);
$startTime = $endTime - $time;
$hints = $this->performQueryAnalysis($query);
$pdo = $connection->getPdo();
$bindings = $connection->prepareBindings($bindings);
// Run EXPLAIN on this query (if needed)
if ($this->explainQuery && preg_match('/^(' . implode($this->explainTypes) . ') /i', $query)) {
$statement = $pdo->prepare('EXPLAIN ' . $query);
$statement->execute($bindings);
$explainResults = $statement->fetchAll(\PDO::FETCH_CLASS);
}
$bindings = $this->checkBindings($bindings);
if (!empty($bindings) && $this->renderSqlWithParams) {
foreach ($bindings as $key => $binding) {
// This regex matches placeholders only, not the question marks,
// nested in quotes, while we iterate through the bindings
// and substitute placeholders by suitable values.
$regex = is_numeric($key) ? "/\\?(?=(?:[^'\\\\']*'[^'\\\\']*')*[^'\\\\']*\$)/" : "/:{$key}(?=(?:[^'\\\\']*'[^'\\\\']*')*[^'\\\\']*\$)/";
$query = preg_replace($regex, $pdo->quote($binding), $query, 1);
}
}
$source = null;
if ($this->findSource) {
try {
$source = $this->findSource();
} catch (\Exception $e) {
}
}
$this->queries[] = ['query' => $query, 'bindings' => $this->escapeBindings($bindings), 'time' => $time, 'source' => $source, 'explain' => $explainResults, 'connection' => $connection->getDatabaseName(), 'hints' => $this->showHints ? $hints : null];
if ($this->timeCollector !== null) {
$this->timeCollector->addMeasure($query, $startTime, $endTime);
}
}
示例5: setPdoForType
/**
* Prepare the read write mode for database connection instance.
*
* @param \Illuminate\Database\Connection $connection
* @param string $type
* @return \Illuminate\Database\Connection
*/
protected function setPdoForType(Connection $connection, $type = null)
{
if ($type == 'read') {
$connection->setPdo($connection->getReadPdo());
} elseif ($type == 'write') {
$connection->setReadPdo($connection->getPdo());
}
return $connection;
}
示例6: __construct
/**
* @param null|string $connectionName
*/
public function __construct($connectionName = null)
{
$connection = is_null($connectionName) ? Config::get('database.default') : DB::connection($connectionName);
$this->connection = DB::connection($connection);
$this->connection->getPdo()->exec('use INFORMATION_SCHEMA');
}
示例7: getLastId
public function getLastId()
{
return $this->connection->getPdo()->lastInsertId();
}
示例8: isConnected
public function isConnected()
{
return !empty($this->connection) && $this->connection->getPdo() instanceof \PDO;
}
示例9: getTraceablePdo
public function getTraceablePdo()
{
return new TraceablePDO($this->db->getPdo());
}
示例10: boot
public function boot(Connection $db)
{
$this->publishes([__DIR__ . '/config/log.php' => config_path('log.php')], 'zedisdog/mysqlHandler');
$mysqlHandler = new MySQLHandler($db->getPdo(), config('log.table', 'log'), [], Logger::DEBUG);
\Log::getMonolog()->pushHandler($mysqlHandler);
}
开发者ID:zedisdog,项目名称:monolog-database-handler-for-laravel5,代码行数:6,代码来源:MysqlHandlerServiceProvider.php
示例11: createDatabase
/**
* @param Connection $db
* @param array $creds
*
* @return bool
*/
protected function createDatabase($db, array $creds)
{
try {
$_dbName = $creds['database'];
if (false === $db->statement(<<<MYSQL
CREATE DATABASE IF NOT EXISTS `{$_dbName}`
MYSQL
)) {
throw new DatabaseException(json_encode($db->getPdo()->errorInfo()));
}
return true;
} catch (\Exception $_ex) {
$this->error('[provisioning:database] create database - failure: ' . $_ex->getMessage());
return false;
}
}