使用 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 模型。不过这个例子确实是基础版的
找不到任何关于如何执行类似
的信息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 模型。不过这个例子确实是基础版的