簡體   English   中英

思維獅身人面像Rails多重關聯

[英]Thinking Sphinx Rails Multiple Association

我有以下型號

class Product < ActiveRecord::Base
  belongs_to :sub_category
end

class SubCategory < ActiveRecord::Base
  belongs_to :category
  has_many :products
end

class Category < ActiveRecord::Base
  has_many :sub_categories , -> { where("activate = 1") }
end

我需要為我的產品表建立索引。我需要使用類別名稱(位於類別表中)和子類別名稱(位於子類別表中)進行搜索

ThinkingSphinx::Index.define :product , :with => :active_record do
  indexes description
  indexes name
  indexes merchant_name
  indexes sub_category(:sub_category) , :as => :sub_category_name
  indexes category(:name) , :as => :cat_name
  has sub_category_id
end

類別(:name)失敗。子類別運行正常。 有人可以幫忙嗎。我嘗試了sub_category.category(:name)但那也失敗了

錯誤信息

錯誤:索引'link_core':sql_range_query:您的SQL語法有錯誤; 檢查與您的MySQL服務器版本相對應的手冊,以在'AS cat_name,products.id AS sphinx_internal_id,'Product'AS'sphinx_internal_'第1行附近使用正確的語法(DSN = mysql:// root:*** @本地主機:3306 / xxxx_dev_phase4)

name應作為鏈接方法而不是參數傳遞

indexes sub_category.category.name , :as => "category_name"

感謝店主Pat的幫助

有關github線程

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM