Inhaltselemente oder Datensätze anbinden
Seiten und Datensätze können auf verschieden angebunden werden.
/**
* Finde Warenkorb von Benutzer
* @param Tx_Mshop_Domain_Model_MBasket $mUser
* @return Tx_Extbase_Persistence_QueryResultInterface The products
*/
public function findMBasketByUser($mUser) {
$query = $this->createQuery();
return $query->matching(
$query->equals('mUser', 'Muster Marcel')
)->execute();
}
Eine eigene Funktion die den Warenkorb des Benutzers findet:
$mBasketList=$this->mBasketRepository->findMBasketByUser($username);
$this->view->assign('mBasketList', $mBasketList);
...der Aufruf im Controller und die Übergabe an die entsprechende View
Die eigentliche Abfrage
Eine Liste der Möglichen abfragen:
$query->logicalAnd($constraint1, $constraint2);
$query->logicalOr($constraint1, $constraint2);
$query->logicalNot($constraint);
$query->withUid($uid);
$query->equals($propertyName, $operand, $caseSensitive = TRUE);
$query->in($propertyName, $operand);
$query->contains($propertyName, $operand);
$query->like($propertyName, $operand);
$query->lessThan($propertyName, $operand);
$query->lessThanOrEqual($propertyName, $operand);
$query->greaterThan($propertyName, $operand);
$query->greaterThanOrEqual($propertyName, $operand);
$query->logicalOr($constraint1, $constraint2);
$query->logicalNot($constraint);
$query->withUid($uid);
$query->equals($propertyName, $operand, $caseSensitive = TRUE);
$query->in($propertyName, $operand);
$query->contains($propertyName, $operand);
$query->like($propertyName, $operand);
$query->lessThan($propertyName, $operand);
$query->lessThanOrEqual($propertyName, $operand);
$query->greaterThan($propertyName, $operand);
$query->greaterThanOrEqual($propertyName, $operand);
/**
* Finds Darlehen nach stopTime
*
* @return Tx_Extbase_Persistence_QueryResultInterface kurse
*/
public function gibLimitListRepository() {
$timestamp = time();
$query = $this->createQuery();
$query->getQuerySettings()->setRespectEnableFields(FALSE);
return $query
->matching(
$query->logicalAnd(
$query->equals('deleted', 0),
$query->equals('hidden', 0),
$query->lessThan('endtime', $timestamp),
$query->greaterThan('endtime', '0')
)
)
->execute()
->toArray();
}
...und zum Schluss noch ein schönes Beispiel: