Hi und guten Morgen zusammen,
seit langem habe ich mal wieder ein Problem. Zwar möchte ich einen Query im Repository nicht mit statement verwenden, sondern natürlich Extbase Funktionalitäten verwenden.
Bislang habe ich das folgendermaßen gelöst:
$result = $query->statement('SELECT * FROM tx_cbdepartment_domain_model_areas a LEFT JOIN tx_cbdepartment_domain_model_departments b ON a.bd = b.bd WHERE a.zip =?', array($zip))->execute();
Leider finde ich nur wenig aussagekräftige Docus zu QOM. Augenblicklich versuche ich das hinzubiegen, wobei mir jetzt noch die WHERE Abfrage fehlt:
$query = $this->createQuery();
$qomFactory = Tx_Extbase_Dispatcher::getPersistenceManager()->getBackend()->getQomFactory();
$selectorA = $qomFactory->selector(null, 'tx_cbdepartment_domain_model_areas');
$selectorB = $qomFactory->selector(null, 'tx_cbdepartment_domain_model_departments');
$joinCondition = $qomFactory->equiJoinCondition(
$selectorA->getSelectorName(), 'bd',
$selectorB->getSelectorName(), 'bd'
);
$query->setSource(
$qomFactory->join(
$selectorA,
$selectorB,
Tx_Extbase_Persistence_QueryInterface::JCR_JOIN_TYPE_INNER,
$joinCondition)
);
Vielleicht habt Ihr ja eine Idee, wie man das schön und sauber umsetzen kann.
Besten Dank und allerbeste Grüße vom Chris