[TYPO3-german] Nativer SQL mit zwei Tabellen

David Brünner david.bruenner at t-online.de
Mon Jan 15 15:17:16 CET 2018


Hallo,

ich möchte gerne (auf einen Rutsch) zwei Tabellen abfragen.
Ich möchte alle Einträge aus der Tabelle 'tx_xxxx_xxx_gebaeude' und 'tx_xxx_xxx_ansprechpartner'

Dazu hab ich mir gedacht ich erstellte mir ein Model/Repository und mappe dieses auf eine der beiden gewünschten Tabellen:

in der setup.ts
[code]
KKSoftware\Kkbaybw\Domain\Model\FeSearch {
  mapping {
    tableName = tx_kkbaybw_domain_model_gebaeude
  }
[/code]

Und im Model 
[code]
namespace KKSoftware\Kkbaybw\Domain\Model;

class FeSearch extends BaseModel {

	/**
	 * vorname
	 *
	 * @var string
	 */
	protected $vorname = '';

	/**
	 * bezeichnung
	 *
	 * @var string
	 */
	protected $bezeichnung = '';


	/**
	 * Returns the vorname
	 *
	 * @return string $vorname
	 */
	public function getVorname() {
		return $this->vorname;
	}

	/**
	 * @return string $bezeichnung
	 */
	public function getBezeichnung() {
		return $this->bezeichnung;
	}
}
[/code]

das Repository hat nur eine Methode:
[code]
namespace KKSoftware\Kkbaybw\Domain\Repository;

class FeSearchRepository extends BaseRepository {
	public function customQuery() {
		$query = $this->createQuery();
		$query->getQuerySettings()->setRespectStoragePage(false);
		$query->statement('SELECT * FROM tx_kkbaybw_domain_model_gebaeude AS ge LEFT JOIN tx_kkbaybw_domain_model_ansprechpartner AS an ON ge.uid = an.gebaeude_id');
		return $query->execute();
	}
[/code]

Das liefert dann auch etwa 400 Ergebnisse:
[code]
TYPO3\CMS\Extbase\Persistence\Generic\QueryResult {
.. 
  {
    vorname => ''
    bezeichnung = 'Gebäude1',
    uid => 1,
    _localizeUid => 1,
    _languageUid => 0,
    _versionedUid => 1,
    pid => 1,
  ...
  {
    vorname => ''
    bezeichnung => 'Gebäude1',
    uid => 11,
    _localizedUid => 11,
    _languageUid => 0,
    _verionedUid = 11,
    pid => 1
  }
..
}
[/code]
D.h. der Teil der aus der Gebäude-Tabelle kommt ('bezeichnung') ist immer gefüllt.
Der Teile der dann aus Ansprechpartner kommt ('vorname') nicht.

Wie bekomme ich die gejointen Daten??


More information about the TYPO3-german mailing list