08. 07. 2020, 10:15

Hab da ein kurioses Problem. Ich habe zwei Extensions. In der zweite injected der Controller eine Klasse aus der ersten Injection. Das macht er auch super. Aber nur, solange ich am Repository findByUid() aufrufe. Bei findAll() oder findByProperty() liefert er ein leeres Ergebnis zurück. das ist irgendwie ein Verhalten, das ich nicht erwarte. Möglicherweise fehlt mir eine Einstellung oder ich habe irgendetwas falsch gemacht.

Die erste Extension hat ein typoScript:
[code]config.tx_extbase {
persistence {
classes {
MyVendor\MyExtA\Domain\Model\Item {
mapping {
tableName = tx_myexta_domain_model_item
recordType = \MyVendor\MyExtA\Domain\Model\Item
}
}
}
}
}
[/code]

Die Controller-Injection:
[code]/**
* itemRepository
*
* @var itemRepository
*/
protected $itemRepository;

/**
* Inject the ItemRepository
*
* @param MyVendor\MyExtA\Domain\Repository\ItemRepository $itemRepository
*/
public function injectItemRepository(ItemRepository $itemRepository)
{
$this->itemRepository= $itemRepository;
}
[/code]

Der Call:
funktioniert:
[code]$items = $this->itemRepository->findByUid(6);
$this->view->assign('items', $items);
[/code]
funktioniert nicht:
[code]$items = $this->itemRepository->findAll();
$this->view->assign('items', $items);
[/code]
[code]$items = $this->itemRepository->findByName('itemX');
$this->view->assign('items', $items);
[/code]