说,我想有一个别名表作为我的 DB::table
(
SELECT A, B, C
FROM TABLE
WHERE D = 'xx'
) custom_table
如何将其转换为 Eloquent 的 DB::table?
我试过了,
DB::table(
DB::select(
DB::raw(
SELECT * FROM (SELECT A, B, C FROM TABLE WHERE D = :param1) AS custom_table
),
[ "param1" => "xx" ]
)
)
但这似乎给了我
ErrorException: 数组到字符串的转换
将其视为 2 个不同的查询构建器并合并它们的绑定,如下所示:
$xx = 'xx';
$innerQuery = DB::select('A','B','C')->table('TABLE')->where('D', '=',$xx);
$mainQuery = DB::table(DB::raw('(' . $innerQuery->toSql() . ') as custom_table'))
->mergeBindings($innerQuery)
->groupBy('custom_table.C')
->get();
$innerQuery
正如您在问题中提到的,这也将帮助您零售构建器实例以供以后使用。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句