У меня есть несколько таких контроллеров, как :CategoryController и NewsController. А также модели доменов для категорий и новостей и репозитории для обоих.
В NewsController я делаю зависимостьInjection вот так (так же, как и в categoryController):
/**
* categoryRepository
*
* @var Tx_MyExtension_Domain_Repository_CategoryRepository
*/
protected $categoryRepository;
/**
* injectCategoryRepository
*
* @param Tx_MyExtension_Domain_Repository_CategoryRepository $CategoryRepository
* @return void
*/
public function injectCategoryRepository(Tx_MyExtension_Domain_Repository_CategoryRepository $categoryRepository) {
$this->categoryRepository = $categoryRepository;
}
Когда я сейчас пытаюсь сделать что-то вроде этого:
/**
* action getCategoriesAjax
*
* @param Tx_MyExtension_Domain_Model_News
* @return void
*/
public function getCategoriesAjaxAction() {
$categories = $this->categoryRepository->findAll();
$this->view->assign('categories',$categories);
}
Я получаю пустой результат.
Для меня странно то, что если я делаю это в CategoryController, та же функция работает как шарм и возвращает все элементы в базе данных, и еще более странным для меня является то, что если я делаю $this ->categoryRepository ->findByUid (1 )В результате я получаю правильный элемент .
Я также добавил в свой репозиторий категории тестовую функцию:
public function test(){
$query = $this->createQuery();
$result = $query->execute();
$amount = $result.count();
}
Если я вызову эту функцию из categoryController, я верну правильное количество элементов. Если я вызываю это из своего контроллера новостей, я получаю "0" в ответ...
Я не понимаю...
Что мне не хватает??? Где моя ошибка?