I can't think of a better way, can you? Maybe I'm not strong enough with 
sql to see it. Maybe there are other ways to do it, but I hardly think it 
would be better. Anyway, since keeping compatible with sqlite is important, 
maybe there could be an "extra-mysql-features" sort of gem to extend 
ActiveRecord behaviour. Is there something like that already? I know there 
are a few extensions to activerecord behaviour, but is there something 
targeting making it support more features of certain databases?

On Tuesday, May 21, 2013 1:18:36 PM UTC-3, Ryan Bigg wrote:
>
> I think this syntax wouldn't be supported in SQLite based on this SO 
> answer: 
> http://stackoverflow.com/questions/1474964/using-tuples-in-sql-in-clause
>
> Maybe there is a better way to write this query?
>
>
> On Tue, May 21, 2013 at 12:13 PM, Rafael Almeida 
> <[email protected]<javascript:>
> > wrote:
>
>> I would very much be able to do this query with ActiveRecord:
>>
>>     SELECT `phones`.* FROM `phones` WHERE (ddd, number) in 
>> ((31,32310512),(31,96438112))
>>
>> Unfortunately, ActiveRecord gives me no way to do so with a prepared 
>> statement. The intuitive way to do it would be:
>>
>>     Phone.where('(ddd, number) in (?)',  [[31,32310512],[31,96438112]])
>>
>> that does not work, as it yields:
>>
>> SELECT `phones`.* FROM `phones`  WHERE ((ddd, number) in ('---\n- 31\n- 
>> 32310512\n','---\n- 31\n- 96438112\n'))
>>
>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "Ruby on Rails: Core" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected] <javascript:>.
>> To post to this group, send email to 
>> [email protected]<javascript:>
>> .
>> Visit this group at http://groups.google.com/group/rubyonrails-core?hl=en
>> .
>> For more options, visit https://groups.google.com/groups/opt_out.
>>  
>>  
>>
>
>

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Core" 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/rubyonrails-core?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to