У меня есть несколько таких контроллеров: 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) В результате я получаю правильный элемент.
Я также добавил в свой categoryRepository тестовую функцию:
public function test(){
$query = $this->createQuery();
$result = $query->execute();
$amount = $result.count();
}
Если я вызову эту функцию из categoryController, я верну правильное количество элементов. Если я вызываю это из своего newsController, я получаю "0" обратно...
я не понимаю...
Что мне не хватает??? Где моя ошибка?