1

我正在为 TYPO3 CMS 8.7.8 开发一个扩展。我正在使用query->statement()从单个表中选择所有字段,以及从另一个表中选择 1 个字段。我得到了一个QueryResult合适的模型,我想在其中添加 1 个额外的字段。那可能吗?

4

2 回答 2

2

您可以使用该->statement(...)方法进行 SQL 查询,并使用普通JOIN命令

文档

$result = $query->statement('SELECT * FROM tx_sjroffers_domain_model_offer
WHERE title LIKE ? AND organization IN ?', array('%climbing%', array(33,47)));

所以你可以在你想要的任何表上做 JOIN(也来自文档的代码)

LEFT JOIN tx_blogexample_person
ON tx_blogexample_post.author = tx_blogexample_person.uid

但是你最终会得到来自 mysql 查询的原始数据。如果要将其转换为对象,请使用Property Mapper

于 2017-12-03T15:07:11.067 回答
0

您可以JOIN在您的 sql中使用,statments如下所示。

$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();
于 2017-12-04T05:46:56.827 回答