Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql Ransack:如何合并子查询?_Mysql_Ruby On Rails_Ransack - Fatal编程技术网

Mysql Ransack:如何合并子查询?

Mysql Ransack:如何合并子查询?,mysql,ruby-on-rails,ransack,Mysql,Ruby On Rails,Ransack,我需要根据多态关联中的key+值进行筛选。在本例中,一个事件可以有许多自定义字段值,我需要通过自定义字段值.custom\u field\u id和自定义字段值过滤事件 我尝试创建类似以下SQL查询的搜索: SELECT id FROM incidents WHERE id IN ( SELECT customfieldable_id from custom_fields_values WHERE (custom_fields_values.custom_field_id = 1091

我需要根据多态关联中的key+值进行筛选。在本例中,一个
事件
可以有许多
自定义字段值
,我需要通过
自定义字段值.custom\u field\u id
自定义字段值
过滤
事件

我尝试创建类似以下SQL查询的搜索:

SELECT id FROM incidents
WHERE id IN (
  SELECT customfieldable_id from custom_fields_values
  WHERE (custom_fields_values.custom_field_id = 1091 AND (custom_fields_values.value >= '2015-06-29 10:00:00') AND (custom_fields_values.value <= '2015-07-03 09:59:59'))
)
AND id IN (
  SELECT customfieldable_id from custom_fields_values
  WHERE (custom_fields_values.custom_field_id = 1099 AND (custom_fields_values.value = 'bbb'))
);
我想搜掠查询应该是这样的:

Incident.ransack(:m=>"and", :g=>{
  "0"=>{"id_in"=>{
    "0"=>{:m=>"and", :g=>{
      "0"=>{"custom_fields_values_custom_field_id_is"=>1091},
      "1"=>{"custom_fields_values_value_gte_any"=>["2015-06-29 00:00:00"]},
      "2"=>{"custom_fields_values_value_lte_any"=>["2015-07-02 23:59:59"]}
    }}}},
  "1"=>{"id_in"=>{
    "0"=>{:m=>"and", :g=>{
      "0"=>{"custom_fields_values_custom_field_id_is"=>1099},
      "1"=>{"custom_fields_values_value_is_any"=>["bbb"]}
  }}}}
})
有没有办法在Ransack中包含嵌套查询?我试过了,但得到了#的
命名错误:未定义的方法“base”


还有其他方法吗?

关于同一问题,这里有另一个问题:我在ransack github中打开了一个问题:关于同一问题,这里有另一个问题:我在ransack github中打开了一个问题:
Incident.ransack(:m=>"and", :g=>{
  "0"=>{"id_in"=>{
    "0"=>{:m=>"and", :g=>{
      "0"=>{"custom_fields_values_custom_field_id_is"=>1091},
      "1"=>{"custom_fields_values_value_gte_any"=>["2015-06-29 00:00:00"]},
      "2"=>{"custom_fields_values_value_lte_any"=>["2015-07-02 23:59:59"]}
    }}}},
  "1"=>{"id_in"=>{
    "0"=>{:m=>"and", :g=>{
      "0"=>{"custom_fields_values_custom_field_id_is"=>1099},
      "1"=>{"custom_fields_values_value_is_any"=>["bbb"]}
  }}}}
})