Yes there is.
But my result set is always empty. The same happens with other associations
like user.couple_detail.fname.

Any suggestions as to how what to try?
Thanks Pat


On Tue, Apr 1, 2014 at 4:29 PM, Pat Allan <[email protected]> wrote:

> Hi Fernanda
>
> It looks like you have the association names correct for the field - is
> there a database column called business_name in the vendor_details table?
>
> --
> Pat
>
> On 2 Apr 2014, at 9:22 am, Fernanda Aispuro <[email protected]>
> wrote:
>
> First time using TS.
> I've seen questions about drilling down on associations for indexing, but
> not what I need.
>
> This are my models:
>
> *Rating.rb*
> *belongs_to :associated, polymorphic=> true*
> *belongs_to :user*
> *#associated is a user that has_one :vendor_detail*
> *#user will be user that has_one :couple_detail*
>
> *User.rb*
> *has_one :vendor_detail*
> *has_one :couple_detail*
> *has_many :ratings, as: :associated*
>
>
> *ThinkingSphinx::Index.define :rating, :with => :active_record do*
> * indexes associated_id*
> * indexes user.email, :as => :email*
> * indexes user.vendor_detail.business_name, :as => :business_name*
> * has user_id, updated_at*
> *end*
>
>
> associated_id and user.email return the expected results.
> However, ser.vendor_detail.business_name returns empty. I tried adding the
> line  'join user.vendor_detail', but nothing changes.
>
> My development.sphinx.config says:
> source rating_core_0
> {
>   type = mysql
>   sql_host = localhost
>   sql_user = root
>   sql_pass =
>   sql_db = weddingful_dev
>   sql_query_pre = SET TIME_ZONE = '+0:00'
>   sql_query_pre = SET NAMES utf8
>   sql_query = SELECT SQL_NO_CACHE `ratings`.`id` * 12 + 3 AS `id`,
> 'Rating' AS `sphinx_internal_class_name`, `ratings`.`associated_id` AS
> `associated_id`, users.`email` AS `email`, `ratings`.`id` AS
> `sphinx_internal_id`, 'Rating' AS `sphinx_internal_class`, 0 AS
> `sphinx_deleted`, couple_detail.`fname` AS `first_name`,
> `ratings`.`user_id` AS `user_id`, UNIX_TIMESTAMP(`ratings`.`updated_at`)
> AS `updated_at` FROM `ratings` LEFT OUTER JOIN `users` ON `users`.`id` =
> `ratings`.`user_id` LEFT OUTER JOIN `couple_detail` ON
> `couple_detail`.`user_id` = `users`.`id` WHERE (`ratings`.`id` BETWEEN
> $start AND $end) GROUP BY `ratings`.`id`, `ratings`.`associated_id`,
> users.`email`, `ratings`.`id`, couple_detail.`fname`, `ratings`.`user_id`,
> `ratings`.`updated_at` ORDER BY NULL
>   sql_query_range = SELECT IFNULL(MIN(`ratings`.`id`), 1),
> IFNULL(MAX(`ratings`.`id`), 1) FROM `ratings`
>   sql_attr_uint = sphinx_internal_id
>   sql_attr_uint = sphinx_deleted
>   sql_attr_uint = user_id
>   sql_attr_timestamp = updated_at
>   sql_attr_string = sphinx_internal_class
>   sql_attr_string = first_name
>   sql_query_info = SELECT `ratings`.* FROM `ratings`  WHERE
> (`ratings`.`id` = ($id - 3) / 12)
> }
>
> Any ideas what I'm doing wrong?
> Thanks!
>
> --
> You received this message because you are subscribed to the Google Groups
> "Thinking Sphinx" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/thinking-sphinx.
> For more options, visit https://groups.google.com/d/optout.
>
>
>  --
> You received this message because you are subscribed to the Google Groups
> "Thinking Sphinx" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/thinking-sphinx.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Thinking Sphinx" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/thinking-sphinx.
For more options, visit https://groups.google.com/d/optout.

Reply via email to