Great! Thank you for the advice, and for doing such an awesome job at
maintaining Sequel!

On Sat, Mar 14, 2015 at 5:17 PM Jeremy Evans <[email protected]> wrote:

> On Saturday, March 14, 2015 at 3:40:18 AM UTC-7, Janko Marohnić wrote:
>>
>> I'm fairly new to Sequel, but I had a lot of experience with ActiveRecord.
>>
>> I have Quiz model, which has many Questions. I'm trying to do a search
>> which returns quizzes, but which also searches associated questions (I
>> know, the basics :P). Now, I'm really impressed with Sequel's joins,
>> ActiveRecord really sucks when it comes to joins. So, I have something like
>> this:
>>
>> Quiz.association_right_join(:questions).to_a
>> # => [#<Quiz @values={:id=>73, :quiz_id=>152, ...>]
>>
>> What happens is that columns are kind of joined together, which I
>> understand. But what I find strange is that questions take over, and
>> quizzes retreat ("id" becomes "quiz_id"). I find this strange, because if
>> I'm searching *quizzes*, shouldn't *questions* be the second-class
>> citizens (that questions' "id" turn into "question_id")?
>>
>> Also, is it possible to disable joining values? Because I only want to do
>> a query, I don't need questions' columns. Maybe a "where" subquery would be
>> better for that, without joining? How would I write it?
>>
>
> The default selection in Sequel is *, so if you join tables, you get
> columns from all tables, and if columns with the same name are in multiple
> tables, columns in joined tables will overwrite columns in the main table.
> Just like in SQL, if you are joining tables, you should set an explicit
> selection:
>
>   Quiz.association_right_join(:questions).select_all(:quizzes).to_a
>
> Alternatively, you could use the table_select or column_select plugins.
>
> The subquery approach as you mention in a later email may be a better way
> to handle things.
>
> Thanks,
> Jeremy
>
> --
> You received this message because you are subscribed to a topic in the
> Google Groups "sequel-talk" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/sequel-talk/SAfim-1oh8Y/unsubscribe.
> To unsubscribe from this group and all its topics, 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/sequel-talk.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"sequel-talk" 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/sequel-talk.
For more options, visit https://groups.google.com/d/optout.

Reply via email to