Exemplo n.º 1
0
 public function createDao($tableName)
 {
     if (!$this->pdoReady()) {
         throw new PeeweeException("接続が初期化されていません");
     }
     if (empty($tableName)) {
         throw new PeeweeException("テーブル名が指定されていません。");
     }
     $dao = Dao::create($this->pdo, $tableName);
     return $dao;
 }
Exemplo n.º 2
0
 public function create(Vo $vo)
 {
     $vo->setSenha(md5($vo->getSenha()));
     return parent::create($vo);
 }
Exemplo n.º 3
0
Arquivo: Dao.php Projeto: 634/peewee2
 public function search($conditions = array(), $page = array(), $relations = array())
 {
     if (!$this->pdoReady()) {
         throw new Exception("接続が初期化されていません");
     }
     if (empty($this->tableName)) {
         throw new Exception("テーブル名を指定してください");
     }
     if ($conditions == null) {
         $conditions = array();
     }
     if ($page == null) {
         $page = array();
     }
     if ($relations == null) {
         $relations = array();
     }
     $sql = "select * from " . $this->tableName;
     if (!empty($conditions)) {
         $sql .= " where ";
         $index = 0;
         foreach ($conditions as $key => $value) {
             if ($index != 0) {
                 $sql .= " and ";
             }
             $sql .= $key . "= :{$key} ";
             $index++;
         }
     }
     $pageNumber = $page["page"];
     $pageCount = $page["count"];
     if (empty($pageNumber) || empty($pageCount)) {
     } else {
         $offset = ($pageNumber - 1) * $pageCount;
         $sql .= " limit " . $offset . " , " . $pageCount;
     }
     $stmt = $this->pdo->prepare($sql);
     foreach ($conditions as $key => $value) {
         $stmt->bindValue(":" . $key, $value);
     }
     $result = $stmt->execute();
     $resultArray = array();
     while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
         $Dto = new Dto($this->tableName);
         foreach ($row as $columnKey => $columnValue) {
             $Dto->{$columnKey} = $this->convertTypeMismatch($columnKey, $columnValue);
         }
         $resultArray[] = $Dto;
     }
     if (!empty($relations)) {
         for ($i = 0; $i < count($resultArray); $i++) {
             $result = $resultArray[$i];
             foreach ($relations as $relationTableName => $relationKeys) {
                 $relationParams = array();
                 foreach ($relationKeys as $relationKey => $foreignKey) {
                     $relationParams[$foreignKey] = $result->{$relationKey};
                 }
                 $relationDao = Dao::create($this->pdo, $relationTableName);
                 $relationList = $relationDao->search($relationParams);
                 $result->{$relationTableName} = $relationList;
             }
             $resultArray[$i] = $result;
         }
     }
     return $resultArray;
 }