Zitat von
zonky
war ja auch nur als Analogie gemeint... es gibt mehrere Möglichkeiten - um bei Deinem Vorgehen zu bleiben sollte doch so was gehen
PHP-Code:
$grandchildItem = $arrItem['raw'];
$child = \MetaModels\Factory::byTableName('mm_child');
$childItem = $parent->findById($grandchildItem['pid']);
$parent = \MetaModels\Factory::byTableName('mm_parent');
$parentItem= $parent->findById($childItem['pid']);
In der Zwischenzeit viel rumprobiert, da ich mich nicht so leicht geschlagen geben wollte.
Hab nun im Grunde genau das gemacht
Funktioniert wunderbar. Danke für die Denkanstöße!
EDIT:
Da byTableName als deprecated ausgegeben wird, habe ich das nun so gelöst:
PHP-Code:
<?php
$container = $GLOBALS['container']['metamodels-service-container'];
$factory = $container->getFactory();
?>
<?php if (count($this->data)): ?>
<?php foreach ($this->data as $arrItem): ?>
<?php
$grandchild = $arrItem['raw'];
$child = $factory->getMetaModel('mm_child');
$item = $child->findById($grandchild['pid']);
$getChildPid = $item->parseValue('pid');
$childPid = $getChildPid['raw']['pid'];
$parent = $factory->getMetaModel('mm_parent');
$parentItem = $parent->findById($childPid);
// Example: Get the parent's title
$parentTitle = $parentItem->parseAttribute('title');
echo $parentTitle['raw'];
?>
<?php endforeach; ?>
<?php endif; ?>
Lesezeichen