Also für dich und Nachkommen, welche n:m-Beziehungen benötigen und "haste" noch nicht kennen:
dca/tl_test.php
PHP-Code:
'pages' => array
(
'label' => &$GLOBALS['TL_LANG']['tl_test']['pages'],
'inputType' => 'pageTree',
// Gibt's gratis dazu, funktioniert automatisch ;-)
'filter' => true,
'eval' => array('multiple'=>true, 'fieldType'=>'checkbox', 'mandatory'=>true),
'relation' => array(
'type' => 'haste-ManyToMany',
'table' => 'tl_page'
)
)
Datenbank-Update machen und sich über die automatische Zwischentabelle freuen
models/TestModel.php
PHP-Code:
class TestModel extends \Haste\Model\Model
{
/**
* Table name
* @var string
*/
protected static $strTable = 'tl_test';
}
modules/MeinFrontendModul.php
PHP-Code:
// In der compile()
// Gib mir alle Seiten welche ich in tl_test zugeordnet habe
$objTest = TestModel::findByPk($intTestId);
$objPages = $objTest->getRelated('pages');
// $objPages ist jetzt eine Collection von "PageModel" und wir können bequem darüber iterieren
foreach ($objPages as $objPage) {
echo $objPage->id;
}
Viel einfacher geht's kaum mehr
Lesezeichen