mysql - 需要帮助将 sql 查询转换为 laravel 查询
问题描述
我需要以下 sql 查询进入 laravel 查询,或者我如何才能按原样运行 laravel。谢谢
SELECT t.*
FROM (SELECT client_id,product_name, max(real_date) AS max_date
FROM api_hilbertis.transactions
WHERE active = 1 AND real_date <= '2019-03-01'
GROUP BY client_id, product_name) AS m
INNER JOIN api_hilbertis.transactions AS t
ON t.client_id = m.client_id
AND t.product_name = m.product_name
AND t.real_date = m.max_date
AND active = 1
ORDER BY real_date DESC;
解决方案
您可以使用 laravel 原始查询。例子在这里
因此,对于您的情况,我们可以编写如下内容:
$results = DB::select( DB::raw("
SELECT t.*
FROM (SELECT client_id,product_name, max(real_date) AS max_date
FROM api_hilbertis.transactions
WHERE active = 1 AND real_date <= '2019-03-01'
GROUP BY client_id, product_name) AS m
INNER JOIN api_hilbertis.transactions AS t
ON t.client_id = m.client_id
AND t.product_name = m.product_name
AND t.real_date = m.max_date
AND active = 1
ORDER BY real_date DESC"
));
编辑:带变量的示例:
$someVariable = $request->input('some_variable');
$results = DB::select( DB::raw("SELECT * FROM some_table WHERE some_col = :somevariable"),
['somevariable' => $someVariable,]
);
推荐阅读
- tensorflow-federated - TFF:将客户端拆分为训练和测试或将每个客户端数据集拆分为训练和测试之间的区别
- reactjs - 目前没有配置加载器来处理这个文件
- bash - 使用空格分隔的文件名准备字符串并跳过名称已存在于 bash
- python - tensorflow/keras 神经网络中的复杂输入/输出是可能的吗?
- android - 如何在向右或向左移动时使用 ItemTouchHelper 移动到新的 Activity 或 Fragment
- splunk - splunk Enterprise 中的带宽
- apache-plc4x - 写入String类型数据提示【PlcRuntimeException: 尚未实现】
- cassandra - 错误:解析块映射时;预期的
,但在 cassandra.yaml 文件中找到了 BlockMappingStart - javascript - 将异步初始状态传递给 useReducer 并返回 undefined
- javascript - 从另一个插件扩展插件 javascript 文件