Example #1
0
 public function find($id, $field = null)
 {
     if (!$id) {
         return false;
     }
     $fieldConstraint = $field ? $field : $this->idField;
     // When a single ID has been given, find it, when an array has been given find it with IN()...
     $db = Database::getConnection();
     $query = $db->query(sprintf("SELECT %s FROM %s WHERE %s %s", implode(',', $this->modelFields), $this->tableName, $fieldConstraint, is_array($id) ? Database::buildSQLINClause($id) : '=:id'), is_array($id) ? null : [':id' => $id]);
     if ($query && $query->rowCount() == 1) {
         $query->setFetchMode(PDO::FETCH_INTO, $this);
         $query->fetch(PDO::FETCH_INTO);
         return $this;
     } else {
         if ($query && $query->rowCount() > 1) {
             $objects = $query->fetchAll(PDO::FETCH_CLASS, get_called_class());
             return $objects;
         } else {
             return false;
         }
     }
 }