Typo3 使用原始SQL向模型添加单个字段
我正在为TYPO3 CMS 8.7.8开发一个扩展。我使用Typo3 使用原始SQL向模型添加单个字段,typo3,datamapper,typo3-8.x,typo3-8.7.x,Typo3,Datamapper,Typo3 8.x,Typo3 8.7.x,我正在为TYPO3 CMS 8.7.8开发一个扩展。我使用query->statement()从一个表中选择所有字段,再从另一个表中选择一个字段。我得到了一个带有适当模型的QueryResult,我想在其中添加1个额外字段。这可能吗?您可以使用->语句(…)方法执行SQL查询,在这种情况下,可以使用普通的JOIN命令 从 因此,您可以在任何需要的表上执行联接(也可以从文档中编写代码) 但最终将得到mysql查询中的原始数据。如果要将其转换为对象,请使用可以在sql语句中使用的JOIN,如下所示
query->statement()
从一个表中选择所有字段,再从另一个表中选择一个字段。我得到了一个带有适当模型的QueryResult
,我想在其中添加1个额外字段。这可能吗?您可以使用->语句(…)
方法执行SQL查询,在这种情况下,可以使用普通的JOIN
命令
从
因此,您可以在任何需要的表上执行联接(也可以从文档中编写代码)
但最终将得到mysql查询中的原始数据。如果要将其转换为对象,请使用可以在sql
语句中使用的JOIN
,如下所示
$query = $this->createQuery();
$sql = 'SELECT single.*,another.field_anme AS fields_name
FROM
tx_single_table_name single
JOIN
tx_another_table_name another
ON
single.fields = another.uid
WHERE
O.deleted = 0
AND O.hidden=0
AND O.uid=' . $orderId;
return $query->statement($sql)->execute();
我的问题是如何在模型上获得额外的场。我已经设法更改了模型以适应额外的字段,并为字段添加了TCA配置。现在一切正常了。@StephanRodemeier然后您可以创建自己的TypeConverter,并将该额外字段添加到返回的模型中。看看PersistentObjectConverter和类似产品是如何实现的。
LEFT JOIN tx_blogexample_person
ON tx_blogexample_post.author = tx_blogexample_person.uid
$query = $this->createQuery();
$sql = 'SELECT single.*,another.field_anme AS fields_name
FROM
tx_single_table_name single
JOIN
tx_another_table_name another
ON
single.fields = another.uid
WHERE
O.deleted = 0
AND O.hidden=0
AND O.uid=' . $orderId;
return $query->statement($sql)->execute();