Ich möchte gerne ein array
array(1) { [0]=> object(App\Content\ContentModel)#24 (17) { ["id"]=> int(1) ["title"]=> string(7) "Healing" ["sub_title"]=> string(0) "" ["content"]=> string(0) "" ["sub_content"]=> string(0) "" ["offer1_time"]=> string(0) "" ["offer1_price"]=> string(0) "" ["offer2_time"]=> string(0) "" ["offer2_price"]=> string(0) "" ["offer_extension_time"]=> string(0) "" ["offer_extension_price"]=> string(0) "" ["image"]=> string(35) "pexels-arina-krasnikova-6997996.jpg" ["parent"]=> int(1) ["sequence"]=> int(1) ["link"]=> string(2) "15" ["button_text"]=> string(11) "Zum Angebot" ["module"]=> string(0) "" } }
das ich aus der Datenbank erhalte über ein repository in ein model speichern damit ich mehrere datensätze zu einem Modul hinzufügen kann, nun wirft es mir aber eine fehlermeldung an und ich komm einfach nicht weiter.
Hier das repository:
public function fetchModulesForPage(int $pageId): array
{
$stmt = $this->pdo->prepare('SELECT modules.* FROM modules JOIN pages ON modules.parent = pages.id WHERE pages.id = :pageId');
$stmt->bindValue(':pageId', $pageId);
$stmt->fetchAll(PDO::FETCH_CLASS, ModulesModel::class);
$stmt->execute();
$modules = $stmt->fetch();
$contentRepository = new ContentRepository($this->pdo);
foreach ($modules as $module) {
$moduleContent = $contentRepository->fetchContentForModule($module);
$module->setContent($moduleContent);
}
return $modules;
}
und hier das Model:
<?php
namespace App\Modules;
class ModulesModel
{
public int $id;
public string $title;
public int $parent;
public string $module;
public int $sequence;
public array $content = [];
public function setContent(array $content): void
{
$this->content = $content;
}
}
die fehlermeldung ist:
Fatal error: Uncaught Error: Call to a member function setContent() on int in C:\xampp\htdocs\test\src\Modules\ModulesRepository.php:29 Stack trace: #0 C:\xampp\htdocs\test\src\Controller\PagesController.php(61): App\Modules\ModulesRepository->fetchModulesForPage(6) #1 C:\xampp\htdocs\test\index.php(73): App\Controller\PagesController->getAllContentFromModules(6) #2 {main} thrown in C:\xampp\htdocs\test\src\Modules\ModulesRepository.php on line 29
die line 29 ist folgende:
$module->setContent($moduleContent);