从原始 SQL 到 Laravel Eloquent 或查询构建器

Posted

技术标签:

【中文标题】从原始 SQL 到 Laravel Eloquent 或查询构建器【英文标题】:From raw SQL to Laravel Eloquent or query builder 【发布时间】:2018-03-12 14:28:36 【问题描述】:

我使用了一个缓慢的 Eloquent 查询,我将其更改为更快的查询,但使用的是原始 SQL

后面的代码中用到了GroupBy,现在失效了。

$app_visits = DB::select(DB::raw('select id, place from table where 1=1'));     
$app_visits = $app_visits->groupBy('place');

有没有一种简单的方法可以对我得到的原始表使用类似的方法?

【问题讨论】:

好吧,您可以将GROUP BY place 添加到您的原始查询中,而您不需要where 1=1。没有错误,很难判断发生了什么。 【参考方案1】:

你不能在原始查询中也使用 groupby 吗?

$app_visits = DB::select(DB::raw('select id, place from table where 1=1 GROUP BY place'));     

【讨论】:

以上是关于从原始 SQL 到 Laravel Eloquent 或查询构建器的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 从 Raw DB 到 Eloquent

在 Laravel 5 Eloquent 中获取原始 SQL 查询的结果

在原始 sql 查询 Laravel 中插入变量

获取 laravel 4 迁移执行的原始 SQL

如何使用 Laravel 的流畅查询构建器混合原始 SQL 和非原始 SQL

在 Laravel 4 中转义原始 SQL 查询