使用 laravel/fluent 查询生成器,我试图为随后排序的 union(ed) 选择传递一个常量字段值。我还没有找到用流利的方式完成以下操作的方法。工会很容易,但是如何让字段常量起作用?
想象一下两个简单的表(省略)和一个联合选择:
select field1, field2, 'type1' as field3 from table1
UNION
select field1, field2, 'type2' as field3 from table2
ORDER BY field2
到目前为止,我想出的最佳答案是将 DB::query 与我自己制造的查询字符串一起使用。鉴于我尝试过的测试用例,Laravel/fluent 似乎还没有准备好处理这种情况。使用 RAW 进行选择非常有效,直到您尝试订购一对选定的表查询。
SELECT field1, field2 FROM
(
SELECT fld1A as field1, 'FOO' as field2 from table1
UNION ALL
SELECT fld2A as field1, 'BAR' as field2 from table2
)
temp_table order by somefield