ich versuche gerade dank dem Video Tutorial von RTX2070 ein eigenes Modul zu schreiben.
Habe mich auch an die Anleitung im Video gehalten.
Jetzt mein Problem:
In der Datenbank sind zwei Einträge vorhanden.
In der Mappers Datei steht folgendes drin:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | namespace Modules\Besucher\Mappers; use Modules\Besucher\Modules\Besucher as BesucherModel; class Besucher extends \Ilch\Mapper { public function getBesucher($where = []) { $besArray = $this->db()->select('*') ->from('besucher') ->where($where) ->execute() ->fetchRows(); if (empty($besArray)) { return []; } $Array = []; foreach ($Array as $Row) { $Model = new besucherModel(); $Model->setId ($Row['Id']); $Model->setVorname ($Row['Vorname']); $Model->setNachname ($Row['Nachname']); $Model->setStrasse ($Row['Strasse']); $Array[] = $BesucherModel; } return $Array; } } |
Es wird im Frontend folgendes angezeigt:
1 2 3 | Array ( ) |
Wenn ich folgendes ändere also das foreach rausnehme
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | namespace Modules\Besucher\Mappers; use Modules\Besucher\Modules\Besucher as BesucherModel; class Besucher extends \Ilch\Mapper { public function getBesucher($where = []) { $besArray = $this->db()->select('*') ->from('besucher') ->where($where) ->execute() ->fetchRows(); if (empty($besArray)) { return []; } $besArray[] = $Array; /* foreach ($Array as $Row) { $Model = new besucherModel(); $Model->setId ($Row['Id']); $Model->setVorname ($Row['Vorname']); $Model->setNachname ($Row['Nachname']); $Model->setStrasse ($Row['Strasse']); $Array[] = $BesucherModel; } */ return $besArray; } } |
funktioniert die Abfrage und es wird folgendes angezeigt:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | Array ( [0] => Array ( [Id] => 1 [Vorname] => Alex [Nachname] => Zschau [Strasse] => Paul ) [1] => Array ( [Id] => 2 [Vorname] => Diane [Nachname] => Zschau [Strasse] => Paul ) [2] => ) |
Modules PHP
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 | namespace Modules\Besucher\Models; use Modules\Besucher\Modules\Besucher as BesucherModel; class Besucher extends \Ilch\Model { //Klassen der Besucher protected $id; protected $vorname; protected $nachname; protected $strasse; //Öffentliche Funktion //---------ID public function getId(){ return $this->id; } public function setId($param){ $this->id = (int)$parem; } //---------Datum /* public function getDatum(){ return $this->Datum; } public function setDatum($parem){ $this->Datum = (string)$parem; } //---------Zeit public function getZeit(){ return $this->Zeit; } public function setZeit($parem){ $this->Zeit = (string)$parem; }*/ //----------Vorname public function getVorname(){ return $this->vorname; } public function setVorname($parem){ $this->vorname = (string)$parem; } //----------Nachname public function getNachname(){ return $this->nachname; } public function setNachname($parem){ $this->nachname = (string)$parem; } //---------Strasse public function getStasse(){ return $this->strasse; } public function setStrasse($parem){ $this->strasse = (string)$parem; //----------PLZ } |
Controllers Index sieht so aus
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | namespace Modules\Besucher\Controllers; use Modules\Besucher\Mappers\Besucher as BesucherMapper; class Index extends \Ilch\Controller\Frontend { public function indexAction() { $Mapper = new BesucherMapper(); $besucher = $Mapper->getBesucher(); $this->getView()->set('Besucher', $besucher); } } |
View Indes
1 2 3 4 5 6 7 8 | <?php $Daten = $this ->get( 'Besucher' ); echo "<pre>" ; print_r( $Daten ); echo "</pre>" ; ?> |
Weiss nicht wo der Fehler liegt. könnt Ihr mir da bitte helfen.
verwendete ilch Version: 2.1.x
betroffene Homepage: localhost