我有一个关于extbase的问题,如果我需要将一个reposotory注入另一个reposotry以获取查询中的连接条件我需要做什么呢?
例如此查询
$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查询因为我的模型中没有这种关系。我需要在广告中使用该类别列出广告,其中包含相应广告类别的广告...
this-> adrepository-> findAll()我使用选定的cateogry自动访问广告,因为这种关系已存在于我的模型中,但我需要一些$ this-> categoryRepository($ this-> adrepository-> finAll())
在下拉列表中我只需要当前有效的类别。我可以通过上面提到的简单查询来访问这个,但我需要通过extbase查询的东西,因为我可以使用typo3的buitin functionaly像开始和结束的时间戳以及我想要的隐藏内置功能
->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 :(得分:0)
要使其与常用存储库方法一起使用,您必须在TCA中定义对象关系(并且不确定是否在模型中)。然后,您可以使用$ query-> equals(' category',$ category)或$ query->包含(' category',$ category)等功能。
您的查询的目的是什么?您正在尝试查找由" ad"?
分配的所有类别