Подзапрос Где условие на Laravel построителе запросов - PullRequest
0 голосов
/ 09 января 2020

моя проблема проста, я студент , я изучаю 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 конструктор запросов.

Спасибо

Ответы [ 2 ]

1 голос
/ 09 января 2020

Не думаю, что вам нужен этот подзапрос. Потому что это из той же таблицы и того же условия.

$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);
         })
0 голосов
/ 09 января 2020
$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')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...