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



