- Timestamp:
- 10/07/08 20:34:25 (3 months ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
lang/php/misc/Hermit/src/Hermit/creator/HermitAutoDeleteSqlCreator.php
r19682 r20924 5 5 */ 6 6 class HermitAutoDeleteSqlCreator implements HermitSqlCreator { 7 private $sql; 8 private $query; 7 9 public function initialize(PDO $pdo, ReflectionMethod $method, HermitAnnote $annote){ 10 $meta = HermitDatabaseMetaFactory::get($pdo); 11 $table = $annote->getTable(); 12 $info = $meta->getTableInfo($table); 13 $primaryKeys = $info->getPrimaryKeys(); 14 15 $sql = 'DELETE'; 16 $sql .= ' '; 17 $sql .= 'FROM'; 18 $sql .= ' '; 19 $sql .= $table; 20 $sql .= ' '; 21 $sql .= 'WHERE'; 22 $sql .= ' '; 23 foreach($primaryKeys as $pk){ 24 $sql .= ' '; 25 $sql .= $pk . '='; 26 $sql .= ' '; 27 $sql .= '/*' . $pk . '*/'; 28 $sql .= '"' . $pk . '"'; 29 $sql .= ' '; 30 $sql .= 'AND'; 31 } 32 $sql = substr($sql, 0, -3); 33 $this->sql = $sql; 8 34 } 9 35 public function createSql(){ 36 $sql = ''; 37 $sql .= $this->sql; 38 if(null !== $this->query){ 39 $sql .= ' '; 40 $sql .= 'WHERE'; 41 $sql .= ' '; 42 $sql .= $this->query; 43 } 44 return $sql; 45 } 46 public function addQuery($queryString){ 47 $this->query = $queryString; 48 } 49 public function addLimit($limit){ 10 50 } 11 51 }
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)