That should be 'categories.id'

On Tue, Apr 21, 2009 at 12:46 AM, Chris Van Pelt <[email protected]> wrote:
> I'm sorry, I just glanced at the question.  I'm not super familiar
> with DM's facility for has_many_through relationships.  I would try
>
> Url.all('categories'.id => catID) or
> Url.all('categorization.category_id' => catID)
>
> I could be way off here though :)
>
> Chris
>
> On Tue, Apr 21, 2009 at 12:27 AM, Dan D <[email protected]> wrote:
>>
>> Thanks, but didn't work.
>>
>> irb(main):064:0> urls = Url.all(:category_id => catID)
>> ArgumentError: Unknown property 'category_id'
>>        from /usr/lib/ruby/gems/1.8/gems/dm-core-0.9.11/lib/dm-core/query.rb:
>> 462:in `append_condition'
>>        from /usr/lib/ruby/gems/1.8/gems/dm-core-0.9.11/lib/dm-core/query.rb:
>> 246:in `initialize'
>>        from /usr/lib/ruby/gems/1.8/gems/dm-core-0.9.11/lib/dm-core/query.rb:
>> 245:in `each'
>>        from /usr/lib/ruby/gems/1.8/gems/dm-core-0.9.11/lib/dm-core/query.rb:
>> 245:in `initialize'
>>        from /usr/lib/ruby/gems/1.8/gems/dm-core-0.9.11/lib/dm-core/model.rb:
>> 431:in `new'
>>        from /usr/lib/ruby/gems/1.8/gems/dm-core-0.9.11/lib/dm-core/model.rb:
>> 431:in `scoped_query'
>>        from /usr/lib/ruby/gems/1.8/gems/dm-core-0.9.11/lib/dm-core/model.rb:
>> 256:in `all'
>>        from (irb):64
>>
>>
>> irb(main):065:0> urls = Url.all(:category_id => 1)
>> ArgumentError: Unknown property 'category_id'
>>
>>
>>
>> On Apr 20, 11:01 pm, Chris Van Pelt <[email protected]> wrote:
>>> urls = Url.all(:category => catID)
>>>
>>> Should be:
>>>
>>> urls = Url.all(:category_id => catID)
>>>
>>> On Mon, Apr 20, 2009 at 10:44 PM, Dan D <[email protected]> wrote:
>>>
>>> > Please help, I'm sure I'm over looking something silly, but I cannot
>>> > query by category. Everything works great except the last line returns
>>> > " Unknown property 'category'" error. Same if I use the (:conditions
>>> > => ...... ) syntax.
>>>
>>> > Thanks,
>>> > Dan
>>>
>>> > require 'rubygems'
>>> > require 'dm-core'
>>>
>>> > DataMapper.setup(:default, "sqlite3://#{Dir.pwd}/test.sqlite3")
>>>
>>> > DataMapper::Logger.new(STDOUT, :debug)
>>> > # :off, :fatal, :error, :warn, :info, :debug
>>> > DataObjects::Sqlite3.logger = DataObjects::Logger.new(STDOUT, 0)
>>>
>>> > class Url
>>> >        include DataMapper::Resource
>>>
>>> >        property :id,           Integer,        :serial => true
>>> >        property :url,          Text,           :nullable => false
>>>
>>> >        has n, :categorizations
>>> >        has n, :categories,
>>> >                :through => :categorizations,
>>> >                :class_name => 'Category',
>>> >                :mutable => true
>>> > end
>>>
>>> > class Category
>>> >  include DataMapper::Resource
>>> >  property :id,       Serial
>>> >  property :name,     String
>>>
>>> >  has n, :categorizations
>>> >  has n, :urls,      :through => :categorizations, :mutable => true
>>> > end
>>>
>>> > class Categorization
>>> >  include DataMapper::Resource
>>> >  property :id,       Serial
>>>
>>> >  belongs_to :category
>>> >  belongs_to :url
>>> > end
>>>
>>> > DataMapper.auto_migrate!
>>>
>>> > cat1 = Category.new
>>> > cat1.name = "Cat1"
>>> > cat1.save
>>>
>>> > cat2 = Category.new
>>> > cat2.name = "Cat2"
>>> > cat2.save
>>>
>>> > Category.all
>>>
>>> > url1 = Url.new
>>> > url1.url = "http://yahoo.com";
>>> > url1.save
>>>
>>> > url2 = Url.new
>>> > url2.url = "http://google.com";
>>> > url2.save
>>>
>>> > catID = Category.first.id
>>> > urlID = Url.first.id
>>>
>>> > Categorization.create(:category_id => catID, :url_id => urlID)
>>>
>>> > urls = Url.all(:category => catID)
>>> > ArgumentError: Unknown property 'category'
>>> >        from 
>>> > /usr/lib/ruby/gems/1.8/gems/dm-core-0.9.11/lib/dm-core/query.rb:
>>> > 462:in `append_condition'
>>> >        from 
>>> > /usr/lib/ruby/gems/1.8/gems/dm-core-0.9.11/lib/dm-core/query.rb:
>>> > 246:in `initialize'
>>> >        from 
>>> > /usr/lib/ruby/gems/1.8/gems/dm-core-0.9.11/lib/dm-core/query.rb:
>>> > 245:in `each'
>>> >        from 
>>> > /usr/lib/ruby/gems/1.8/gems/dm-core-0.9.11/lib/dm-core/query.rb:
>>> > 245:in `initialize'
>>> >        from 
>>> > /usr/lib/ruby/gems/1.8/gems/dm-core-0.9.11/lib/dm-core/model.rb:
>>> > 431:in `new'
>>> >        from 
>>> > /usr/lib/ruby/gems/1.8/gems/dm-core-0.9.11/lib/dm-core/model.rb:
>>> > 431:in `scoped_query'
>>> >        from 
>>> > /usr/lib/ruby/gems/1.8/gems/dm-core-0.9.11/lib/dm-core/model.rb:
>>> > 256:in `all'
>>> >        from (irb):66
>> >>
>>
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"DataMapper" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/datamapper?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to