使用 Laravel db builder 在查询中执行 WITH MySQL 表达式

Execute WITH MySQL expression in a query using Laravel db builder

找不到任何关于如何执行类似

的信息
WITH table AS (
    SELECT colA, colB
    FROM table2 INNER JOIN table1 ON table1.id = table2.colA
),
table4 AS (
    SELECT moo, foo
    INNER JOIN table3 ON table3.colC = table4.colD
),
......

使用 Laravel 数据库查询生成器和表达式 WITH 有没有人构建过这样的查询并知道如何执行?

完全可以,我经常用

例如,我有一个 $query 和一个名为 $params 的数组(准备好的语句)。

比我还:

$connection = DB::connection('mysql'); 
$connection->getPdo()->setAttribute(PDO::ATTR_EMULATE_PREPARES, true); 

$result = $connection->select($query, $params);

我需要 PDO::ATTR_EMULATE_PREPARES,因为我重复了 params(例如,在查询中多次 :user_id)。

基本上,我使用原始查询。也可以在 eloquent 模型上使用这样的查询,在这种情况下,它将像您在 Laravel 中习惯的那样 return 模型。不过这个例子确实是基础版的