---
title: "übersetzte Datensätze werden deoppelt ausgegeben"
url: "https://www.typo3.net/d/117047-uebersetzte-datensaetze-werden-deoppelt-ausgegeben"
source: "typo3.net"
tags: ["Extensions","Entwicklung","Datenbank","Extbase","Frage","TYPO3 6"]
created: "2014-01-09"
last_reply: "2014-01-09"
replies: 1
solved: true
page: 1
pages: 1
lang: "de"
---

# übersetzte Datensätze werden deoppelt ausgegeben

Extensions › Entwicklung · 1 Antwort · gelöst · gestartet 2014-01-09

## Frage

**daFalk** · 2014-01-09 · [Beitrag #1](https://www.typo3.net/d/117047-uebersetzte-datensaetze-werden-deoppelt-ausgegeben/1)

Hallo,

meine Seite ist zweisprachig. ich habe auf der Seite eine Extension in der Filme gespeichert werden. Die Im plugin sucht der Nutzer sich aus, welche Datensätze aus welchen Kategorien und welchen Jahren im Frontend angezeigt werden sollen. Nun habe ich einen Datensatz übersetzt. Es ist die Parent-UID in der Tabelle vorhanden und die Sprachen ID ebenfalls.
bei der Ausgabe im Frontend wird auf der Deutschen Seite der deutsche Datensatz angezeigt, aber doppelt. und das selbe auf der englischen Seite. Der Datensatz wird zwar auf Englisch angezeigt, aber zwei mal. Alle nicht übersetzten Datensätze werden nur einmal angezeigt.

Mein Repository sieht so aus:

```php
public function findAllFiltered($year, $category){
	
	if(strpos($year,",")!==false){
		$years = explode(',', $year);	
	} else {
		$years = array($year);
	};

	if(strpos($category,",")!==false){
		$categories = explode(',', $category);	
	} else {
		$categories = array($category);
	};

	$sql = "SELECT * FROM tx_frmovieportfolio_domain_model_movie WHERE sys_language_uid = '" . $GLOBALS['TSFE']->sys_language_uid . "' AND ";
	$i=count($years);
	foreach ($years as $value) {
		$i=$i-1;
    	$sql = $sql . "year = '" . $value . "' AND (";
    		$j=count($categories);
    		foreach ($categories as $cat) {
    			$j = $j-1;			
		    	$sql = $sql."category = '".$cat."'";
		    	
		    	if($j > 0) {
		    		$sql=$sql.' OR ';
		    	};
    		};
    	$sql=$sql.')';
		if($i > 0){
			$sql=$sql.' OR ';
		};
	};
	print_r($sql);
		$query = $this->createQuery();
 		//$query->getQuerySettings()->setReturnRawQueryResult(TRUE);
		$query->statement($sql);
 
	    return $query->execute();
	}
```

Das entstehende SQL-Statement sieht dann beispielhaft so aus:

```php
SELECT * FROM tx_frmovieportfolio_domain_model_movie WHERE sys_language_uid = '0' AND year = '2013' AND (category = '0' OR category = '1') OR year = '2012' AND (category = '0' OR category = '1')
```

Kann mir bitte jemand helfen diese doppelten Datensätze los zu werden?
Schankedön.

Falk

## Beste Antwort

**daFalk** · 2014-01-09 · [Beitrag #2](https://www.typo3.net/d/117047-uebersetzte-datensaetze-werden-deoppelt-ausgegeben/2)

Hab es nun hinbekommen. man sollte wohl nicht auf selbst erstellen der statements zurückgreifen. Vor allem keine so schlechten geschriebenen. Mein funktionierendes Repository sieht nun so aus:

```php
	if(strpos($year,",")!==false){
		$years = explode(',', $year);	
	} else {
		$years = array($year);
	};

	if(strpos($category,",")!==false){
		$categories = explode(',', $category);	
	} else {
		$categories = array($category);
	};


		$query = $this->createQuery();
		
		return $query->matching(
		$query->logicalAnd(
		$query->in('year', $years),
		$query->in('category', $categories)
		)
		)->execute();
```

danke.
Falk

## Antworten

### [#2](https://www.typo3.net/d/117047-uebersetzte-datensaetze-werden-deoppelt-ausgegeben/2) · daFalk · 2014-01-09 · Beste Antwort

(Text siehe oben unter „Beste Antwort“.)

---

Quelle: „übersetzte Datensätze werden deoppelt ausgegeben“, typo3.net, https://www.typo3.net/d/117047-uebersetzte-datensaetze-werden-deoppelt-ausgegeben
Beiträge von Mitgliedern des Forums. Bitte mit Link auf die Diskussion zitieren.
