Typo3 Extbase 如何获得关系 = x 的所有对象?
Typo3 Extbase How can I get all Objects with a relation = x?
我想在我的项目中使用 Extbase。但是我没有让这个查询起作用:
SELECT
tx_domain_model_A.*,
tx_domain_model_B.*
FROM
tx_domain_model_A LEFT JOIN tx_domain_model_B ON (tx_domain_model_B.uid IN (tx_domain_model_A.b_I_D))
WHERE
tx_domain_model_B.von >= ?
ORDER BY tx_domain_model_B.von
结果应该是这样的:
A.uid A.b_I_D B.uid B.von
1 5,8,3 5 abc
1 5,8,3 8 def
1 5,8,3 3 ghi
2 1,2 1 123
2 1,2 2 456
3 1 1 123
我使用:
$query = $this->createQuery();
$query->matching($query->greaterThanOrEqual('bID.von',date('U')));
但是,所有子对象都是空的。我认为这来自:
http://fossies.org/dox/typo3_src-6.2.9/Typo3DbQueryParser_8php_source.html
function addUnionStatement ...
...
// TODO check if there is another solution for this
785 $sql['keywords']['distinct'] = 'DISTINCT';
所以我用 $query->statement(...)
来做,但这也行不通。
我想从 Table A 中获取比今天大 A.B_I_D.von
的所有对象。 Table B (= A.B_I_D
) 是一个 n:1 关系 (A=n:B=1
)。如何多次从 A 获取对象?可以在 Fluid 中使用吗?
我用的是 Typo3 6.2
好的,首先,extbase 查询总是会为您提供完整的对象。这就是为什么您需要使用 statement
来实现您的目标。获得所需结果的第二个技巧是您需要设置为以数组形式接收结果。它是必需的,因为 extbase 正在尝试将您的语句映射到与存储库相关的模型对象
您可以使用 setReturnRawQueryResult
更改 return 数据的类型:您可以在此处阅读更多相关信息 http://docs.typo3.org/typo3cms/ExtbaseFluidBook/6-Persistence/3-implement-individual-database-queries.html
我想在我的项目中使用 Extbase。但是我没有让这个查询起作用:
SELECT
tx_domain_model_A.*,
tx_domain_model_B.*
FROM
tx_domain_model_A LEFT JOIN tx_domain_model_B ON (tx_domain_model_B.uid IN (tx_domain_model_A.b_I_D))
WHERE
tx_domain_model_B.von >= ?
ORDER BY tx_domain_model_B.von
结果应该是这样的:
A.uid A.b_I_D B.uid B.von
1 5,8,3 5 abc
1 5,8,3 8 def
1 5,8,3 3 ghi
2 1,2 1 123
2 1,2 2 456
3 1 1 123
我使用:
$query = $this->createQuery();
$query->matching($query->greaterThanOrEqual('bID.von',date('U')));
但是,所有子对象都是空的。我认为这来自: http://fossies.org/dox/typo3_src-6.2.9/Typo3DbQueryParser_8php_source.html
function addUnionStatement ...
...
// TODO check if there is another solution for this
785 $sql['keywords']['distinct'] = 'DISTINCT';
所以我用 $query->statement(...)
来做,但这也行不通。
我想从 Table A 中获取比今天大 A.B_I_D.von
的所有对象。 Table B (= A.B_I_D
) 是一个 n:1 关系 (A=n:B=1
)。如何多次从 A 获取对象?可以在 Fluid 中使用吗?
我用的是 Typo3 6.2
好的,首先,extbase 查询总是会为您提供完整的对象。这就是为什么您需要使用 statement
来实现您的目标。获得所需结果的第二个技巧是您需要设置为以数组形式接收结果。它是必需的,因为 extbase 正在尝试将您的语句映射到与存储库相关的模型对象
您可以使用 setReturnRawQueryResult
更改 return 数据的类型:您可以在此处阅读更多相关信息 http://docs.typo3.org/typo3cms/ExtbaseFluidBook/6-Persistence/3-implement-individual-database-queries.html