php - Laravel 查询生成器上的子查询 Where 条件

标签 php mysql laravel

我的问题很简单,我是一名学生,我正在学习 Laravel,我不知道如何从子查询创建 where 条件。

这是查询

 "SELECT id_parameter,value,code_rule,block,grouping,count FROM rule_definition WHERE (code_rule IN (SELECT code_rule FROM rule_definition WHERE id_parameter = 1 AND value = '$x') AND (id_parameter = 1 AND value = '$x')) OR (id_parameter != 1 AND value != '$x')";

我正在使用 laravel 6.0 查询生成器。

谢谢

最佳答案

我认为您不需要该子查询。因为它来自同一张表和相同的条件。

$query = DB::table('rule_definition')
        ->select('id_parameter, value, code_rule, block,grouping, count')
        ->where(function ($q) use ($x) { 
             $q->where('id_parameter','=',1)
               ->where('value','=',$x);
         })->orWhere(function ($q) use ($x) { 
             $q->where('id_parameter','!=',1)
               ->where('value','!=',$x);
         })

关于php - Laravel 查询生成器上的子查询 Where 条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59659758/

相关文章:

php - java.lang.String类型的Android数据库无法转换为JSONObject

Laravel 5.4 session 和 Auth::user() 在 Controller 的构造函数中不可用

php - 当应用程序通过 GuzzleHttp 相互调用时,Laravel 环境变量在应用程序之间泄漏

PHP POST 打印复选框条目 : nothing I have found on forums works

php - 我该如何处理这种异常(在 Doctrine 中)

php - Google Recaptcha 错误,登录时未完成拼图但显示勾号

mysql - 在mysql中显示交替行

mysql - SQL 计数查询的性能改进

php - Laravel Eloquent 跳过方法

php - 如何通过同一个帖子检查电子邮件地址或用户名是否有效或是否存在?