在Laravel查询生成器中设置查询结果文字


Setting a query result literal in Laravel query builder?

我正在尝试使用Laravel查询生成器设置列结果文字。通过编写原始SQL,我可以使用来实现这一点

SELECT
  `field1`, 
  `field2`, 
  'Test' AS `field3` 
FROM `Test`;

因此MySQL将始终返回列字段3的Test。我正试图用select('field1', 'field2', '"Test" AS field3')这样的查询生成器来实现这一点,但这似乎不起作用。它将返回一个错误,即Test不是列名。

有人知道我该怎么做吗?

您想要DB::raw()函数:

->select('field1', 'field2', DB::raw("'Test' AS field3"))