将原始SQL查询传递到Laravel上的查询构建器

6rvt4ljy  于 2023-05-01  发布在  其他
关注(0)|答案(2)|浏览(115)

有没有办法用原始查询初始化laravel的查询生成器?或者至少在现有示例中传递完整的原始SQL查询?就像这样:

$rawSQL = "select * from table ...";
$builder = DB::query($rawSQL); // returns a query builder instance
$builder->where(...); // like a normal ->where method in query builder

我试过DB::select,但它返回一个数组,而不是一个可以被更多查询更新的查询构建器示例。

mbjcgjjk

mbjcgjjk1#

可以使用Builder::fromSub()

$rawSQL = "select * from table ...";
$builder = DB::query();
$builder->fromSub($rawSQL);
$builder->where(...); // like a normal ->where method in query builder
qco9c6ql

qco9c6ql2#

您可以尝试Builder::fromRaw,但请注意语法:它不包含任何'select * from'。..' -这将被自动添加:

DB::query()->fromRaw('users')->get();

相关问题