Reputation: 33
my problem is simple, I'm a student, I'm learning laravel, i don't know how to create a where condition from a subquery.
This is the query
"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')";
Im using laravel 6.0 query builder.
Thanks
Upvotes: 0
Views: 240
Reputation: 13394
I don't think you need that subquery. Because it from the same table and same condition.
$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);
})
Upvotes: 1
Reputation: 529
$query = DB::table('rule_definition')->where(function ($q){
$q->where('id_parameter','=',1)
->where('value','=','$x');
})->orWhere(function ($q){
$q->where('id_parameter','!=',1)
->where('value','!=','$x');
})->select('id_parameter, value, code_rule, block,grouping, count')
Upvotes: 0