Subversion Repositories PHPX

Rev

Rev 34 | Rev 44 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 34 Rev 41
Line 4... Line 4...
4
require_once __DIR__ . '/../AbstractModel.php';
4
require_once __DIR__ . '/../AbstractModel.php';
5
5
6
/**
6
/**
7
 * Generic database model class using PDO (PHP Data Objects)
7
 * Generic database model class using PDO (PHP Data Objects)
8
 *
8
 *
-
 
9
 * @property-read PDO $connection
-
 
10
 *   Database connection.  Established on read access to this
-
 
11
 *   property if not yet established.
9
 * @property-read array $lastError
12
 * @property-read array $lastError
10
 *   Last error information of the database operation.
13
 *   Last error information of the database operation.
11
 *   See {@link PDOStatement::errorInfo()}.
14
 *   See {@link PDOStatement::errorInfo()}.
12
 * @property-read string $lastInsertId
15
 * @property-read string $lastInsertId
13
 *   ID of the last inserted row, or the last value from a sequence object,
16
 *   ID of the last inserted row, or the last value from a sequence object,
Line 130... Line 133...
130
   
133
131
    if ($options)
134
    if ($options)
132
    {
135
    {
133
      $this->_options = $options;
136
      $this->_options = $options;
134
    }
137
    }
-
 
138
  }
135
   
139
-
 
140
  /**
-
 
141
   * @return PDO
-
 
142
   */
-
 
143
  public function getConnection ()
-
 
144
  {
-
 
145
    if ($this->_connection === null)
-
 
146
    {
136
    $this->_connection =
147
      $this->_connection =
137
      new PDO($this->_dsn, $this->_username, $this->_password, $this->_options);
148
        new PDO($this->_dsn, $this->_username, $this->_password, $this->_options);
138
  }
149
    }
139
 
150
-
 
151
    return $this->_connection;
-
 
152
  }
-
 
153
140
  /**
154
  /**
141
   * Initiates a transaction
155
   * Initiates a transaction
142
   *
156
   *
143
   * @return bool
157
   * @return bool
144
   * @see PDO::beginTransaction()
158
   * @see PDO::beginTransaction()
145
   */
159
   */
146
  public function beginTransaction()
160
  public function beginTransaction()
147
  {
161
  {
148
    return $this->_connection->beginTransaction();
162
    return $this->connection->beginTransaction();
149
  }
163
  }
150
 
164
151
  /**
165
  /**
152
   * Rolls back a transaction
166
   * Rolls back a transaction
153
   *
167
   *
154
   * @return bool
168
   * @return bool
155
   * @see PDO::rollBack()
169
   * @see PDO::rollBack()
156
   */
170
   */
157
  public function rollBack()
171
  public function rollBack()
158
  {
172
  {
159
    return $this->_connection->rollBack();
173
    return $this->connection->rollBack();
160
  }
174
  }
161
 
175
162
  /**
176
  /**
163
   * Commits a transaction
177
   * Commits a transaction
164
   *
178
   *
165
   * @return bool
179
   * @return bool
166
   * @see PDO::commit()
180
   * @see PDO::commit()
167
   */
181
   */
168
  public function commit()
182
  public function commit()
169
  {
183
  {
170
    return $this->_connection->commit();
184
    return $this->connection->commit();
171
  }
185
  }
172
 
186
173
  /**
187
  /**
174
   * Prepares a statement for execution with the database
188
   * Prepares a statement for execution with the database
175
   * @param string $query
189
   * @param string $query
176
   */
190
   */
177
  public function prepare($query, array $driver_options = array())
191
  public function prepare($query, array $driver_options = array())
178
  {
192
  {
179
    return $this->_connection->prepare($query, $driver_options);
193
    return $this->connection->prepare($query, $driver_options);
180
  }
194
  }
181
 
195
182
  /**
196
  /**
183
   * Returns the ID of the last inserted row, or the last value from
197
   * Returns the ID of the last inserted row, or the last value from
184
   * a sequence object, depending on the underlying driver.
198
   * a sequence object, depending on the underlying driver.
Line 486... Line 500...
486
   *   Name of the sequence object from which the ID should be returned.
500
   *   Name of the sequence object from which the ID should be returned.
487
   * @return string
501
   * @return string
488
   */
502
   */
489
  protected function _setLastInsertId($name = null)
503
  protected function _setLastInsertId($name = null)
490
  {
504
  {
491
    return ($this->_lastInsertId = $this->_connection->lastInsertId($name));
505
    return ($this->_lastInsertId = $this->connection->lastInsertId($name));
492
  }
506
  }
493
507
494
  /**
508
  /**
495
   * Resets the the ID of the last inserted row, or the last value from
509
   * Resets the the ID of the last inserted row, or the last value from
496
   * a sequence object, depending on the underlying driver.
510
   * a sequence object, depending on the underlying driver.