Example #1
0
 /**
  * @param Article $article
  * @return bool
  */
 public function save(Article $article)
 {
     $dataArr = $article->getDataArr();
     $paramsArr = [];
     if (@$article->id > 0) {
         //updatujeme existující článek
         $sql = '';
         foreach ($dataArr as $key => $value) {
             if ($key == 'id') {
                 continue;
             }
             $sql .= ($sql != '' ? ',' : '') . ' ' . $key . '=:' . $key;
             $paramsArr[':' . $key] = $value;
         }
         $sql = 'UPDATE articles SET ' . $sql . ' WHERE id=:id LIMIT 1;';
         $paramsArr[':id'] = $article->id;
         $query = $this->pdo->prepare($sql);
         $result = $query->execute($paramsArr);
     } else {
         //insert nového článku
         $sql = 'INSERT INTO articles (';
         $sql .= implode(',', array_keys($dataArr));
         $sql .= ')VALUES(';
         foreach ($dataArr as $key => $value) {
             $paramsArr[':' . $key] = $value;
         }
         $sql .= implode(',', array_keys($paramsArr));
         $sql .= ')';
         $query = $this->pdo->prepare($sql);
         $result = $query->execute($paramsArr);
         $article->id = $this->pdo->lastInsertId('articles');
     }
     return $result;
 }