मैं डेटाबेस से वस्तुओं की एक सूची प्राप्त करने का प्रयास कर रहा हूँ जहाँ Entity.user = "current user".

यह एक इकाई इकाई और एक उपयोगकर्ता इकाई के बीच एक कई-एक संबंध है

मैंने बंडल कॉन्फिगरेशन में dql-filter विकल्प का उपयोग करने की कोशिश की, लेकिन एक पैरामीटर वेरिएबल नहीं मिला जैसे हम कंट्रोलर $this->getUser() या Twig {{app.user}} में पा सकते हैं।

मैंने कस्टम नियंत्रक का उपयोग करने की कोशिश की लेकिन मैं उलझन में हूं क्योंकि दस्तावेज़ीकरण बहुत विस्तृत नहीं है।

0
Salim Ben Aissa 19 फरवरी 2019, 20:52

1 उत्तर

सबसे बढ़िया उत्तर

मैं एक कस्टम नियंत्रक के साथ जाऊंगा और findAll या createListQueryBuilder हमेशा एक जोड़कर डीक्यूएल-फिल्टर। कुछ इस तरह से:

protected function createListQueryBuilder($entityClass, $sortDirection, $sortField = null, $dqlFilter = null)
{
    if (null === $dqlFilter) {
        $dqlFilter = sprintf('entity.user = %s', $this->getUser()->getId());
    } else {
        $dqlFilter .= sprintf(' AND entity.user = %s', $this->getUser()->getId());
    }

    return parent::createListQueryBuilder($entityClass, $sortDirection, $sortField, $dqlFilter);
}
0
dbrumann 21 फरवरी 2019, 09:34