2017-01-30 9 views
0

У меня вопрос относительно extbase, если мне нужно вставить репозиторий в другой репозиторий для получения условия соединения в запросе, что мне нужно сделать для этого?extbase query builder инъекции одного репозитория в другой репозиторий

Например, этот запрос

 $query = $this->createQuery() 
     ->statement(' 
      SELECT tx_casmarketing_domain_model_category.uid, tx_casmarketing_domain_model_category.name 
      FROM tx_casmarketing_domain_model_category, tx_casmarketing_domain_model_ad 
      WHERE tx_casmarketing_domain_model_ad.ad_cat = tx_casmarketing_domain_model_category.uid ') 

Этот запрос я пытаюсь получить доступ через

$query = $this->createQuery(); 
     $query->matching(
       ); 

В основном я пытаюсь внедрить одно хранилище объявлений в категории хранилище, потому что нет никакой связи определяется в модели для этого.

В моей модели есть категория для рекламы, поэтому, когда я получаю доступ к объявлениям через adRepository, я автоматически получаю доступ к cateogrys вместе с репозиторием adCategory, но в vise-virsa, когда мне нужна категория, которая была выбрана для рекламы, я могу получить доступ только через соединение в запросе, потому что у меня нет таких отношений в моей модели. Мне нужна эта категория для моего списка doropdown в объявлениях о том, сколько рекламных объявлений категории содержит объявления ...

this-> adrepository-> findAll() Я автоматически получаю доступ к объявлениям с выбранной катехией, потому что эти отношения уже существуют в моей модели, но Мне нужно какое-то, как $ this-> categoryRepository ($ this-> adrepository-> finAll())

В выпадающем списке мне нужна только эта категория, которая в данный момент активна. Я могу получить доступ к этому с помощью простого запроса, как я упомянул выше, но мне нужно это через материал Extbase запроса becuse с Extbase способом запроса я могу использовать buitin functionaly из typo3, как штамп времени для начала и конца и скрытой встроено функциональности я хочу

->statement(' 
     SELECT tx_casmarketing_domain_model_category.uid,  tx_casmarketing_domain_model_category.name 
      FROM tx_casmarketing_domain_model_category, tx_casmarketing_domain_model_ad 
      WHERE tx_casmarketing_domain_model_ad.ad_cat = tx_casmarketing_domain_model_category.uid ') this is working but i want to conver it thourgh extbase query 

ответ

0

Чтобы заставить его работать с обычными методами репозитория, вы должны определить объектные отношения в TCA (и не уверены, что и в модели). Затем вы можете использовать такие функции, как $ query-> equals ('category', $ category) или $ query-> contains ('category', $ category).

Какова цель вашего запроса? Вы пытаетесь найти все категории, которые назначены «объявлением»?

+0

Спасибо за паул за ваш ответ. Я объясню далее мой вопрос в описании выше. вы можете проверить, возможно, это поможет вам лучше понять мою проблему. – zahid