Show
Ignore:
Timestamp:
10/07/08 20:34:25 (3 months ago)
Author:
nowelium
Message:

CRUD + procedure まで一通り終わり

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • lang/php/misc/Hermit/src/Hermit/creator/HermitAutoDeleteSqlCreator.php

    r19682 r20924  
    55 */ 
    66class HermitAutoDeleteSqlCreator implements HermitSqlCreator { 
     7    private $sql; 
     8    private $query; 
    79    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; 
    834    } 
    935    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){ 
    1050    } 
    1151}