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:
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:
Array ( )
Wenn ich folgendes ändere also das foreach rausnehme
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:
Array ( [0] => Array ( [Id] => 1 [Vorname] => Alex [Nachname] => Zschau [Strasse] => Paul ) [1] => Array ( [Id] => 2 [Vorname] => Diane [Nachname] => Zschau [Strasse] => Paul ) [2] => )
Modules PHP
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
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
<?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