---
title: "Repository baut nur Objekt der ersten und zweiten Ebene"
url: "https://www.typo3.net/d/107204-repository-baut-nur-objekt-der-ersten-und-zweiten-ebene"
source: "typo3.net"
tags: ["Extensions","Extbase","Frage"]
created: "2011-09-08"
last_reply: "2011-09-09"
replies: 2
solved: false
page: 1
pages: 1
lang: "de"
---

# Repository baut nur Objekt der ersten und zweiten Ebene

Extensions › Extbase · 2 Antworten · gestartet 2011-09-08

## Eröffnungsbeitrag

**JayaRe** · 2011-09-08 · [Beitrag #1](https://www.typo3.net/d/107204-repository-baut-nur-objekt-der-ersten-und-zweiten-ebene/1)

Hallo Forum,

seit 2,5 Tagen versuche ich vergeblich in Büchern, Tutorials und über Google eine Lösung für dieses Problem zu finden...

Ich habe 3 Klassen: Turnier - 1:n -> Platzierungen - n:1 -> Teilnehmer
Also 1 Turnier kann beliebig viele Platzierungen beinhalten,
1 Platzierung aber nur einen Teilnehmer.
1 Teilnehmer kann aber beliebig viele Turniere spielen, also auch in beliebig vielen Platzierungen vorkommen.

Die Ausgabe einer Liste der Turniere funktioniert.
In dieser Liste kann ich ein Turnier anklicken, um die Details zu diesem Turnier zu sehen.
Das funktioniert nur bedingt:
Ich bekomme die Eigenschaften des Turniers angezeigt.
Ich bekomme die direkten Platzierungseigenschaften angezeigt (Platz, Punkte), aber nicht den dazugehörigen Teilnehmer.

Rufe ich über das TurnierRepository also ein Turnier-Objekt auf, baut es mir das Turnier- und die dazugehörigen Platzierungs-Objekte, aber nicht das zum Platzierungs-Objekt gehörige Teilnehmer-Objekt.

Die Klasse Turnier ist Aggregate root. Mittlerweile auch die Klasse Teilnehmer (mit entsprechenden Controller und Repository Klassen).
Alle Getter und Setter sind vorhanden.
Keine Attribute in den drei KLassen sind mit "@lazy" gekennzeichnet. Es sieht ja eigentlich nach so einem Problem aus...

Hat jemand einen Tip, wo hier das Problem sein könnte?

Code liefere ich gerne nach, will den Post nicht unnötig lang machen.

Vielen Dank schon mal fürs lesen
Jürgen

## Antworten

### [#2](https://www.typo3.net/d/107204-repository-baut-nur-objekt-der-ersten-und-zweiten-ebene/2) · JayaRe · 2011-09-08

so, ein Stück weiter.
In der Datenbank hatte ich bisher übersehen, dass in der Tablee ...Teilnehmer der Wert für "Platzierungen" überall "0" ist. Er sollte aber die Anzahl der Platzierungen jedes Teilnehmers beinhalten.
Bei den Turnieren funktioniert das auch.
tca.php

```php
$TCA['tx_jreranking_domain_model_tournament'] = array(
	'ctrl' => $TCA['tx_jreranking_domain_model_tournament']['ctrl'],
	'interface' => array(
		'showRecordFieldList' => 'hidden,season,location,tournament_date,manager,positions'
	),
	'types' => array(
		'1' => array('showitem' => 'hidden,season,location,tournament_date,manager,positions')
	),
	
	'columns' => array(
        ...
                'positions' => array(
			'exclude' => 1,
			'label'   => 'LLL:EXT:jre_ranking/Resources/Private/Language/locallang_db.xml:tx_jreranking_domain_model_tournament.positions',
			'config' => array(
				'type' => 'inline',
				'foreign_table' => 'tx_jreranking_domain_model_position',
				'foreign_field' => 'tournament',
				'maxitems'      => 9999,
				'appearance' => array(
					'newRecordLinkPosition' => 'bottom',
					'collapseAll' => 0,
					'expandSingle' => 1
				)
			)
		)
	)
);

$TCA['tx_jreranking_domain_model_person'] = array(
	'ctrl' => $TCA['tx_jreranking_domain_model_person']['ctrl'],
	'interface' => array(
		'showRecordFieldList' => 'hidden, firstname, lastname, onlinename, sex, is_member'
	),
	'types' => array(
		'1' => array('showitem' => 'hidden, firstname, lastname, onlinename, sex, is_member')
	),
	'columns' => array(
        ...
                 'positions' => array(
			'exclude' => 1,
			'label'   => 'LLL:EXT:jre_ranking/Resources/Private/Language/locallang_db.xml:tx_jreranking_domain_model_tournament.positions',
			'config' => array(
				'type' => 'inline',
				'foreign_table' => 'tx_jreranking_domain_model_position',
				'foreign_field' => 'person',
				'maxitems'      => 9999,
				'appearance' => array(
					'newRecordLinkPosition' => 'bottom',
					'collapseAll' => 0,
					'expandSingle' => 1
				)
			)
		)
	)
);
$TCA['tx_jreranking_domain_model_position'] = array(
	'ctrl' => $TCA['tx_jreranking_domain_model_position']['ctrl'],
	'interface' => array(
		'showRecordFieldList' => 'hidden, person, tournament, number, points'
	),
	'columns' => array(
        ...
                'person' => array(		
			'exclude' => 1,		
			'label'   => 'LLL:EXT:jre_ranking/Resources/Private/Language/locallang_db.xml:tx_jreranking_domain_model_person',
			'config' => array(
				'type' => 'select',
				'foreign_table' => 'tx_jreranking_domain_model_person',
				'foreign_table_where' => 'AND tx_jreranking_domain_model_person.pid=###CURRENT_PID###',
				'items' => array(
						array('--none--', 0)
					),
				'wizards' => Array(
		             '_PADDING' => 1,
		             '_VERTICAL' => 0,
		             'edit' => Array(
		                 'type' => 'popup',
		                 'title' => 'Edit',
		                 'script' => 'wizard_edit.php',
		                 'icon' => 'edit2.gif',
		                 'popup_onlyOpenIfSelected' => 1,
		                 'JSopenParams' => 'height=650,width=650,status=0,menubar=0,scrollbars=1'
		             ),
		             'add' => Array(
		                 'type' => 'script',
		                 'title' => 'Create new',
		                 'icon' => 'add.gif',
		                 'params' => Array(
		                     'table'=>'tx_jreranking_domain_model_person',
		                     'pid' => '###CURRENT_PID###',
		                     'setValue' => 'prepend'
		                 ),
		                 'script' => 'wizard_add.php'
		             )
		         )
			)
		),
		'tournament' => array(
			'config'  => array(
				'type' => 'passthrough'
			)
		)
);
```

Bin aber nicht sicher, ob das bei dem jetzigen Problem relevant ist? Denn in "Platzierungen" steht ja die Referenz zum Teilnehmer drin...

### [#3](https://www.typo3.net/d/107204-repository-baut-nur-objekt-der-ersten-und-zweiten-ebene/3) · JayaRe · 2011-09-09

das ganze nochmal mit dem Extension_Builder nachgebaut. Es geht! :D

Aber warum mein erster Versuch (von Hand) scheiterte, muss ich nächste Woche mal analysieren...

---

Quelle: „Repository baut nur Objekt der ersten und zweiten Ebene“, typo3.net, https://www.typo3.net/d/107204-repository-baut-nur-objekt-der-ersten-und-zweiten-ebene
Beiträge von Mitgliedern des Forums. Bitte mit Link auf die Diskussion zitieren.
