laravel sql子查询

Posted

技术标签:

【中文标题】laravel sql子查询【英文标题】:laravel sql subquery 【发布时间】:2016-05-27 11:58:33 【问题描述】:

我已经阅读了有关原始查询的文档,但他们对构建子查询只字未提。我不能在最坏的情况下在控制器操作或模型中输入原始 sql 吗?)

我有两个表,rates 和 performance。

我无法在控制器(或模型)中用 Laravel 用语(查询构建器或 eloquent 或原始查询)编写以下 sql 子查询

SELECT ratedescription 
FROM rates
WHERE rates.digit
IN (SELECT
   performance.score
   FROM performances
   where performances.id = $i);

$i 是进入控制器方法的参数

这个问题不适合bouty。我从来没有这么说过,而且是 SO 甚至不问我就这样做了。

【问题讨论】:

【参考方案1】:

我很久没有使用 Laravel 了,但是你不能用查询生成器来做同样的事情吗? laravel docs

类似:

Rate::select("ratedescription")->whereIn("digit", function($query) 
    $query->from("performances")->select("score")->where(...);
)->get();

我的回答可能是错误的,因为我已经有一段时间没有使用 laravel 或 php,但我希望它可以提供帮助。 祝你有美好的一天。

【讨论】:

这里不能这样工作!

以上是关于laravel sql子查询的主要内容,如果未能解决你的问题,请参考以下文章

sql查询到子查询的laravel查询

Laravel Eloquent 中的 SQL 查询子字符串

Laravel 中使用子查询

Laravel 中使用子查询

Laravel Fluent 查询生成器加入子查询

laravel join 子查询 joinSub