我有几个这样的控制器:CategoryController 和 NewsController
以及类别和新闻的领域模型以及两者的存储库。
在 NewsController 中,我执行如下的 dependencyInjection(与在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 中执行此操作,相同的函数会像 charm 一样工作并返回数据库中的所有元素,对我来说更奇怪的是,如果我执行 $this->categoryRepository->findByUid(1) 我会得到正确的元素作为结果.
我还在我的categoryRepository中添加了一个测试函数:
public function test(){
$query = $this->createQuery();
$result = $query->execute();
$amount = $result.count();
}
如果我从categoryController调用这个函数,我会得到正确数量的元素。如果我从 newsController 调用它,我会得到“0”返回......
我不明白...
我想念什么???
我的错误在哪里?