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