summaryrefslogtreecommitdiffstats
path: root/application/models/MembershipMapper.php
diff options
context:
space:
mode:
authormichael pereira2011-04-04 17:12:48 +0200
committermichael pereira2011-04-04 17:12:48 +0200
commit8ceb7bad18f257127ad5790a9c0ec157d7e03f4d (patch)
treea83b3d35741914087db7eb8c169c1f5c3b0bd02a /application/models/MembershipMapper.php
parentgetRessoources bei Play werden angezeigt (diff)
downloadpbs2-8ceb7bad18f257127ad5790a9c0ec157d7e03f4d.tar.gz
pbs2-8ceb7bad18f257127ad5790a9c0ec157d7e03f4d.tar.xz
pbs2-8ceb7bad18f257127ad5790a9c0ec157d7e03f4d.zip
WICHTIG findBy Methode geändert & alles angepasst, siehe Ticket
Diffstat (limited to 'application/models/MembershipMapper.php')
-rw-r--r--application/models/MembershipMapper.php35
1 files changed, 31 insertions, 4 deletions
diff --git a/application/models/MembershipMapper.php b/application/models/MembershipMapper.php
index 5aa0bfd..67b4985 100644
--- a/application/models/MembershipMapper.php
+++ b/application/models/MembershipMapper.php
@@ -4,17 +4,44 @@ class Application_Model_MembershipMapper
{
protected $_dbTable;
-
- public function findBy($criteria, $value)
+
+ public function findBy($where, $array=false, $order=false)
{
+ foreach($where as $k => $v){
+ if($v != null)
+ $where2[] = "$k = '$v'";
+ else
+ $where2[] = "$k IS NULL";
+ }
+ $where = implode(" AND " ,$where2);
+
try{
$db = Zend_Db_Table::getDefaultAdapter();
$select = $this->getDbTable()->select()
->from($this->_dbTable)
- ->where($criteria . ' = ?', $value);
+ ->where($where);
+
+ if(is_array($order)){
+ foreach ($order as $k => $v)
+ $a[] = "$k $v";
+ $select->order($a);
+ }
+
$stmt = $select->query();
$result = $stmt->fetchAll();
- return $result;
+
+ if(!$array){
+ $entries = array();
+ foreach ($result as $row) {
+ $entry = new Application_Model_Membership($row);
+ $entry->setID($row['membershipID']);
+ $entries[] = $entry;
+ }
+ return $entries;
+ }else{
+ return $result;
+ }
+
}catch (Zend_Exception $e) {
echo "Error message 2: " . $e->getMessage() . "\n";
}