Fix query for multi categories and tags (empty array)
This commit is contained in:
		
							parent
							
								
									ef2a32be4c
								
							
						
					
					
						commit
						7dcea95dd4
					
				| 
						 | 
				
			
			@ -72,14 +72,14 @@ class PagesController < ApplicationController
 | 
			
		|||
      module_app = ModuleApp.first(:conditions => {:key => params[:app_name]})
 | 
			
		||||
      if !params[:category_id].blank? && !params[:tag_id].blank?
 | 
			
		||||
        @item = Item.first(:conditions => {:module_app_id => module_app.id, :app_frontend_url => params[:app_action], :category.in => params[:category_id], :tag.in => params[:tag_id]})
 | 
			
		||||
        @item = Item.first(:conditions => {:module_app_id => module_app.id, :app_frontend_url => params[:app_action], :category.in => params[:category_id], :tag => ''}) unless @item
 | 
			
		||||
        @item = Item.first(:conditions => {:module_app_id => module_app.id, :app_frontend_url => params[:app_action], :category.in => params[:category_id], :tag.in => [nil, []]}) unless @item
 | 
			
		||||
      elsif !params[:category_id].blank?
 | 
			
		||||
        @item = Item.where(module_app_id: module_app.id, app_frontend_url: params[:app_action], :category.in => params[:category_id]).any_in(tag: [nil,'']).first
 | 
			
		||||
        @item = Item.where(module_app_id: module_app.id, app_frontend_url: params[:app_action], :category.in => params[:category_id]).any_in(tag: [nil, []]).first
 | 
			
		||||
      elsif !params[:tag_id].blank?
 | 
			
		||||
        @item = Item.where(module_app_id: module_app.id, app_frontend_url: params[:app_action], :tag.in => params[:tag_id]).any_in(category: [nil,'']).first
 | 
			
		||||
        @item = Item.where(module_app_id: module_app.id, app_frontend_url: params[:app_action], :tag.in => params[:tag_id]).any_in(category: [nil, []]).first
 | 
			
		||||
      end
 | 
			
		||||
      @item = Item.find(params[:orig_page]) unless @item || params[:orig_page].blank?
 | 
			
		||||
      @item = Item.where(module_app_id: module_app.id, app_frontend_url: params[:app_action]).all_of("tag" => {"$in" => [nil,'']},"category" => { "$in" => [nil,'']}).first unless @item
 | 
			
		||||
      @item = Item.where(module_app_id: module_app.id, app_frontend_url: params[:app_action]).all_of("tag" => {"$in" => [nil, []]},"category" => { "$in" => [nil, []]}).first unless @item
 | 
			
		||||
      @item = Item.where(module_app_id: module_app.id, app_frontend_url: 'default_widget').first unless @item
 | 
			
		||||
      @item = Item.where(module_app_id: module_app.id, app_frontend_url: params[:app_action]).first unless @item
 | 
			
		||||
    end
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue